summaryrefslogtreecommitdiff
path: root/compat/w32pthreads.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-08-13 18:32:53 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-08-13 18:33:06 +0200
commita0f3db8f60e0e79fb29efdb87fe91082299ad0ee (patch)
tree7c5f176e3deaa218e7bbfb2d341e668059130659 /compat/w32pthreads.h
parent9f7a2ecb29264388f3997dcd34647a55cfa22253 (diff)
parent428b0578c64241fc677fed7083cc8fe65e10f32e (diff)
Merge commit '428b0578c64241fc677fed7083cc8fe65e10f32e'
* commit '428b0578c64241fc677fed7083cc8fe65e10f32e': w32threads: Use newer thread synchronization functions when targeting Vista Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'compat/w32pthreads.h')
-rw-r--r--compat/w32pthreads.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index cfb8f6471f..0d1fc28d94 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -73,6 +73,18 @@ static BOOL (WINAPI *cond_wait)(pthread_cond_t *cond, pthread_mutex_t *mutex,
#define cond_broadcast WakeAllConditionVariable
#define cond_signal WakeConditionVariable
#define cond_wait SleepConditionVariableCS
+
+#define CreateEvent(a, reset, init, name) \
+ CreateEventEx(a, name, \
+ (reset ? CREATE_EVENT_MANUAL_RESET : 0) | \
+ (init ? CREATE_EVENT_INITIAL_SET : 0), \
+ EVENT_ALL_ACCESS)
+// CreateSemaphoreExA seems to be desktop-only, but as long as we don't
+// use named semaphores, it doesn't matter if we use the W version.
+#define CreateSemaphore(a, b, c, d) \
+ CreateSemaphoreExW(a, b, c, d, 0, SEMAPHORE_ALL_ACCESS)
+#define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0)
+#define WaitForSingleObject(a, b) WaitForSingleObjectEx(a, b, FALSE)
#endif
static unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)