Skip to content

Commit

Permalink
Merge commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1'
Browse files Browse the repository at this point in the history
* commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1':
  w32threads: Don't use function pointers when linking directly to newer APIs

Merged-by: Michael Niedermayer <[email protected]>
  • Loading branch information
michaelni committed Aug 28, 2013
2 parents 72196a4 + 4332bf9 commit a8ddafb
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions compat/w32pthreads.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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

}
Expand Down

0 comments on commit a8ddafb

Please sign in to comment.