diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h index 7b51c25843..cfb8f6471f 100644 --- a/compat/w32pthreads.h +++ b/compat/w32pthreads.h @@ -134,28 +134,29 @@ typedef struct win32_cond_t { volatile int is_broadcast; } win32_cond_t; -static void pthread_cond_init(pthread_cond_t *cond, const void *unused_attr) +static int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr) { win32_cond_t *win32_cond = NULL; if (cond_init) { cond_init(cond); - return; + return 0; } /* non native condition variables */ win32_cond = av_mallocz(sizeof(win32_cond_t)); if (!win32_cond) - return; + return ENOMEM; cond->ptr = win32_cond; win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL); if (!win32_cond->semaphore) - return; + return ENOMEM; win32_cond->waiters_done = CreateEvent(NULL, TRUE, FALSE, NULL); if (!win32_cond->waiters_done) - return; + return ENOMEM; pthread_mutex_init(&win32_cond->mtx_waiter_count, NULL); pthread_mutex_init(&win32_cond->mtx_broadcast, NULL); + return 0; } static void pthread_cond_destroy(pthread_cond_t *cond)