Add qemu 2.4.0
[kvmfornfv.git] / qemu / include / qemu / thread-posix.h
1 #ifndef __QEMU_THREAD_POSIX_H
2 #define __QEMU_THREAD_POSIX_H 1
3 #include "pthread.h"
4 #include <semaphore.h>
5
6 struct QemuMutex {
7     pthread_mutex_t lock;
8 };
9
10 struct QemuCond {
11     pthread_cond_t cond;
12 };
13
14 struct QemuSemaphore {
15 #if defined(__APPLE__) || defined(__NetBSD__)
16     pthread_mutex_t lock;
17     pthread_cond_t cond;
18     unsigned int count;
19 #else
20     sem_t sem;
21 #endif
22 };
23
24 struct QemuEvent {
25 #ifndef __linux__
26     pthread_mutex_t lock;
27     pthread_cond_t cond;
28 #endif
29     unsigned value;
30 };
31
32 struct QemuThread {
33     pthread_t thread;
34 };
35
36 #endif