29 #ifndef COMPAT_W32PTHREADS_H 30 #define COMPAT_W32PTHREADS_H 38 #define WIN32_LEAN_AND_MEAN 49 void *(*func)(
void*
arg);
58 #define PTHREAD_MUTEX_INITIALIZER SRWLOCK_INIT 59 #define PTHREAD_COND_INITIALIZER CONDITION_VARIABLE_INIT 61 #define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0) 62 #define WaitForSingleObject(a, b) WaitForSingleObjectEx(a, b, FALSE) 89 if (ret != WAIT_OBJECT_0) {
90 if (ret == WAIT_ABANDONED)
96 *value_ptr = thread.
ret;
97 CloseHandle(thread.
handle);
103 InitializeSRWLock(m);
113 AcquireSRWLockExclusive(m);
118 ReleaseSRWLockExclusive(m);
123 #define PTHREAD_ONCE_INIT INIT_ONCE_STATIC_INIT 128 InitOnceBeginInitialize(once_control, 0, &pending,
NULL);
131 InitOnceComplete(once_control, 0,
NULL);
137 InitializeConditionVariable(cond);
149 WakeAllConditionVariable(cond);
155 SleepConditionVariableSRW(cond, mutex, INFINITE, 0);
161 WakeConditionVariable(cond);
static int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
#define WaitForSingleObject(a, b)
CONDITION_VARIABLE pthread_cond_t
static av_unused unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
Memory handling functions.
Macro definitions for various function/variable attributes.
static int pthread_cond_destroy(pthread_cond_t *cond)
static av_unused int pthread_create(pthread_t *thread, const void *unused_attr, void *(*start_routine)(void *), void *arg)
static int pthread_mutex_init(pthread_mutex_t *m, void *attr)
static int pthread_mutex_unlock(pthread_mutex_t *m)
common internal API header
static int pthread_mutex_destroy(pthread_mutex_t *m)
void *(* func)(void *arg)
void *(* start_routine)(void *)
static int pthread_cond_signal(pthread_cond_t *cond)
#define attribute_align_arg
static int pthread_mutex_lock(pthread_mutex_t *m)
static av_unused int pthread_once(pthread_once_t *once_control, void(*init_routine)(void))
int(* cond)(enum AVPixelFormat pix_fmt)
static int pthread_cond_broadcast(pthread_cond_t *cond)
static av_unused int pthread_join(pthread_t thread, void **value_ptr)
common internal and external API header
static int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)