compat/w32pthreads: add return value to pthread_cond_init().
This commit is contained in:
parent
96470ca22b
commit
58a10e0e2c
@ -134,28 +134,29 @@ typedef struct win32_cond_t {
|
|||||||
volatile int is_broadcast;
|
volatile int is_broadcast;
|
||||||
} win32_cond_t;
|
} 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;
|
win32_cond_t *win32_cond = NULL;
|
||||||
if (cond_init) {
|
if (cond_init) {
|
||||||
cond_init(cond);
|
cond_init(cond);
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* non native condition variables */
|
/* non native condition variables */
|
||||||
win32_cond = av_mallocz(sizeof(win32_cond_t));
|
win32_cond = av_mallocz(sizeof(win32_cond_t));
|
||||||
if (!win32_cond)
|
if (!win32_cond)
|
||||||
return;
|
return ENOMEM;
|
||||||
cond->ptr = win32_cond;
|
cond->ptr = win32_cond;
|
||||||
win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL);
|
win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL);
|
||||||
if (!win32_cond->semaphore)
|
if (!win32_cond->semaphore)
|
||||||
return;
|
return ENOMEM;
|
||||||
win32_cond->waiters_done = CreateEvent(NULL, TRUE, FALSE, NULL);
|
win32_cond->waiters_done = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||||
if (!win32_cond->waiters_done)
|
if (!win32_cond->waiters_done)
|
||||||
return;
|
return ENOMEM;
|
||||||
|
|
||||||
pthread_mutex_init(&win32_cond->mtx_waiter_count, NULL);
|
pthread_mutex_init(&win32_cond->mtx_waiter_count, NULL);
|
||||||
pthread_mutex_init(&win32_cond->mtx_broadcast, NULL);
|
pthread_mutex_init(&win32_cond->mtx_broadcast, NULL);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pthread_cond_destroy(pthread_cond_t *cond)
|
static void pthread_cond_destroy(pthread_cond_t *cond)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user