block: fix deadlock in bdrv_co_flush
[qemu/kevin.git] / include / qemu / thread-win32.h
blobc7ce8dcd45981926566306905825d64a3129ca22
1 #ifndef QEMU_THREAD_WIN32_H
2 #define QEMU_THREAD_WIN32_H
4 #include <windows.h>
6 struct QemuMutex {
7 CRITICAL_SECTION lock;
8 LONG owner;
9 };
11 struct QemuCond {
12 LONG waiters, target;
13 HANDLE sema;
14 HANDLE continue_event;
17 struct QemuSemaphore {
18 HANDLE sema;
21 struct QemuEvent {
22 int value;
23 HANDLE event;
26 typedef struct QemuThreadData QemuThreadData;
27 struct QemuThread {
28 QemuThreadData *data;
29 unsigned tid;
32 /* Only valid for joinable threads. */
33 HANDLE qemu_thread_get_handle(QemuThread *thread);
35 #endif