xref: /qemu/include/qemu/thread-posix.h (revision 72ac97cd)
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
37