qemu/include/qemu/thread-posix.h
<<
>>
Prefs
   1#ifndef QEMU_THREAD_POSIX_H
   2#define QEMU_THREAD_POSIX_H
   3
   4#include <pthread.h>
   5#include <semaphore.h>
   6
   7typedef QemuMutex QemuRecMutex;
   8#define qemu_rec_mutex_destroy qemu_mutex_destroy
   9#define qemu_rec_mutex_lock_impl    qemu_mutex_lock_impl
  10#define qemu_rec_mutex_trylock_impl qemu_mutex_trylock_impl
  11#define qemu_rec_mutex_unlock qemu_mutex_unlock
  12
  13struct QemuMutex {
  14    pthread_mutex_t lock;
  15#ifdef CONFIG_DEBUG_MUTEX
  16    const char *file;
  17    int line;
  18#endif
  19    bool initialized;
  20};
  21
  22struct QemuCond {
  23    pthread_cond_t cond;
  24    bool initialized;
  25};
  26
  27struct QemuSemaphore {
  28#ifndef CONFIG_SEM_TIMEDWAIT
  29    pthread_mutex_t lock;
  30    pthread_cond_t cond;
  31    unsigned int count;
  32#else
  33    sem_t sem;
  34#endif
  35    bool initialized;
  36};
  37
  38struct QemuEvent {
  39#ifndef __linux__
  40    pthread_mutex_t lock;
  41    pthread_cond_t cond;
  42#endif
  43    unsigned value;
  44    bool initialized;
  45};
  46
  47struct QemuThread {
  48    pthread_t thread;
  49};
  50
  51#endif
  52