tests/docker: remove mingw packages from Fedora
[qemu.git] / include / qemu / thread-posix.h
blobb792e6ef377b5cce15a5aaab6e56af08dd255efa
1 #ifndef QEMU_THREAD_POSIX_H
2 #define QEMU_THREAD_POSIX_H
4 #include <pthread.h>
5 #include <semaphore.h>
7 struct QemuMutex {
8 pthread_mutex_t lock;
9 #ifdef CONFIG_DEBUG_MUTEX
10 const char *file;
11 int line;
12 #endif
13 bool initialized;
17 * QemuRecMutex cannot be a typedef of QemuMutex lest we have two
18 * compatible cases in _Generic. See qemu/lockable.h.
20 typedef struct QemuRecMutex {
21 QemuMutex m;
22 } QemuRecMutex;
24 struct QemuCond {
25 pthread_cond_t cond;
26 bool initialized;
29 struct QemuSemaphore {
30 #ifndef CONFIG_SEM_TIMEDWAIT
31 pthread_mutex_t lock;
32 pthread_cond_t cond;
33 unsigned int count;
34 #else
35 sem_t sem;
36 #endif
37 bool initialized;
40 struct QemuEvent {
41 #ifndef __linux__
42 pthread_mutex_t lock;
43 pthread_cond_t cond;
44 #endif
45 unsigned value;
46 bool initialized;
49 struct QemuThread {
50 pthread_t thread;
53 #endif