1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#include <pthread.h>
#ifdef __APPLE__
#include <mach/semaphore.h>
#include <mach/task.h>
#define semaphoreCreate(Semaphore, Number) semaphore_create (mach_task_self (), &(Semaphore), SYNC_POLICY_FIFO, (Number))
#define semaphoreWait(Semaphore) semaphore_wait ((Semaphore))
#define semaphoreSet(Semaphore) semaphore_signal ((Semaphore))
#define semaphoreDestroy(Semaphore) semaphore_destroy (mach_task_self (), (Semaphore))
#define semaphore_struct semaphore_t
#else
#include <semaphore.h>
#define semaphoreCreate(Semaphore, Number) sem_init (&(Semaphore), 0, (Number))
#define semaphoreWait(Semaphore) sem_wait (&(Semaphore))
#define semaphoreSet(Semaphore) sem_post (&(Semaphore))
#define semaphoreDestroy(Semaphore) sem_destroy (&(Semaphore))
#define semaphore_struct sem_t
#endif |
Partager