X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=compat%2Fwin32%2Fpthread.h;h=c72f100f40ce2ab9ae7abead730ed00c2a461fbf;hb=507665e4f4c87fa4ca8fbe8519e9d0cc36a93d3d;hp=b8e1bcb046490d4981fc5af4413104aa5ee76dee;hpb=77b3b7969d1a817e28639dc75305a9e301f0d4b4;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