25RCSIDH(semaphore_h,
"$Id: 64ef3099e093d7e1589061a68b1e9bb3e27bb2f1 $")
27#include <freeradius-devel/util/talloc.h>
32#ifdef HAVE_SEMAPHORE_H
36#define SEMAPHORE_LOCKED (0)
40#include <mach/mach_init.h>
41#include <mach/semaphore.h>
45#define sem_init(s,p,c) semaphore_create(mach_task_self(),s,SYNC_POLICY_FIFO,c)
47#define sem_wait(s) semaphore_wait(*s)
49#define sem_post(s) semaphore_signal(*s)
51#define sem_destroy(s) semaphore_destroy(mach_task_self(),*s)
56#define SEM_WAIT_INTR(_x) do {if (sem_wait(_x) == 0) break;} while (errno == EINTR)
API for POSIX semaphores in mmapped memory.
void fr_sem_free(fr_sem_t *sem)
fr_sem_t * fr_sem_alloc(void)