]> Git Repo - qemu.git/blob - include/qemu/thread-posix.h
works with less than base ISA qemu-system-riscv32 -M virt -bios none -kernel output...
[qemu.git] / include / qemu / thread-posix.h
1 #ifndef QEMU_THREAD_POSIX_H
2 #define QEMU_THREAD_POSIX_H
3
4 #include <pthread.h>
5 #include <semaphore.h>
6
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;
14 };
15
16 /*
17  * QemuRecMutex cannot be a typedef of QemuMutex lest we have two
18  * compatible cases in _Generic.  See qemu/lockable.h.
19  */
20 typedef struct QemuRecMutex {
21     QemuMutex m;
22 } QemuRecMutex;
23
24 struct QemuCond {
25     pthread_cond_t cond;
26     bool initialized;
27 };
28
29 struct QemuSemaphore {
30     QemuMutex mutex;
31     QemuCond cond;
32     unsigned int count;
33 };
34
35 struct QemuEvent {
36 #ifndef __linux__
37     pthread_mutex_t lock;
38     pthread_cond_t cond;
39 #endif
40     unsigned value;
41     bool initialized;
42 };
43
44 struct QemuThread {
45     pthread_t thread;
46 };
47
48 #endif
This page took 0.02629 seconds and 4 git commands to generate.