403e633126
Rewrite the handshaking between qemu_thread_create and the win32_start_routine, so that the thread can be joined without races. Similar handshaking is done now between qemu_thread_exit and qemu_thread_join. This also simplifies how QemuThreads are initialized. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
23 lines
363 B
C
23 lines
363 B
C
#ifndef __QEMU_THREAD_WIN32_H
|
|
#define __QEMU_THREAD_WIN32_H 1
|
|
#include "windows.h"
|
|
|
|
struct QemuMutex {
|
|
CRITICAL_SECTION lock;
|
|
LONG owner;
|
|
};
|
|
|
|
struct QemuCond {
|
|
LONG waiters, target;
|
|
HANDLE sema;
|
|
HANDLE continue_event;
|
|
};
|
|
|
|
typedef struct QemuThreadData QemuThreadData;
|
|
struct QemuThread {
|
|
QemuThreadData *data;
|
|
unsigned tid;
|
|
};
|
|
|
|
#endif
|