X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=compat%2Fwin32%2Fpthread.h;h=c72f100f40ce2ab9ae7abead730ed00c2a461fbf;hb=28bf4ba014c9b41679f41580fa9e1cc294b240d9;hp=b8e1bcb046490d4981fc5af4413104aa5ee76dee;hpb=3cd02df46a56c5c006163e72d0816aef1ba4a00e;p=git.git diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h index b8e1bcb04..c72f100f4 100644 --- a/compat/win32/pthread.h +++ b/compat/win32/pthread.h @@ -32,17 +32,18 @@ * See also: http://www.cse.wustl.edu/~schmidt/win32-cv-1.html */ typedef struct { - volatile LONG waiters; + LONG waiters; + int was_broadcast; + CRITICAL_SECTION waiters_lock; HANDLE sema; + HANDLE continue_broadcast; } pthread_cond_t; extern int pthread_cond_init(pthread_cond_t *cond, const void *unused); - extern int pthread_cond_destroy(pthread_cond_t *cond); - extern int pthread_cond_wait(pthread_cond_t *cond, CRITICAL_SECTION *mutex); - extern int pthread_cond_signal(pthread_cond_t *cond); +extern int pthread_cond_broadcast(pthread_cond_t *cond); /* * Simple thread creation implementation using pthread API