@ -62,11 +62,18 @@ typedef struct pthread_cond_t {
} pthread_cond_t ;
/* function pointers to conditional variable API on windows 6.0+ kernels */
# if _WIN32_WINNT < 0x0600
static void ( WINAPI * cond_broadcast ) ( pthread_cond_t * cond ) ;
static void ( WINAPI * cond_init ) ( pthread_cond_t * cond ) ;
static void ( WINAPI * cond_signal ) ( pthread_cond_t * cond ) ;
static BOOL ( WINAPI * cond_wait ) ( pthread_cond_t * cond , pthread_mutex_t * mutex ,
DWORD milliseconds ) ;
# else
# define cond_init InitializeConditionVariable
# define cond_broadcast WakeAllConditionVariable
# define cond_signal WakeConditionVariable
# define cond_wait SleepConditionVariableCS
# endif
static unsigned __stdcall attribute_align_arg win32thread_worker ( void * arg )
{
@ -268,11 +275,6 @@ static void w32thread_init(void)
( void * ) GetProcAddress ( kernel_dll , " WakeConditionVariable " ) ;
cond_wait =
( void * ) GetProcAddress ( kernel_dll , " SleepConditionVariableCS " ) ;
# else
cond_init = InitializeConditionVariable ;
cond_broadcast = WakeAllConditionVariable ;
cond_signal = WakeConditionVariable ;
cond_wait = SleepConditionVariableCS ;
# endif
}