30#define SEM_INIT_SELECTOR(_1, _2, _3, NAME, ...) NAME
51#define sem_init(...) \
52 SEM_INIT_SELECTOR(__VA_ARGS__, sem_init_posix, (sem_init))(__VA_ARGS__)
Various common macros used throughout the codebase.
semaphore_t sem
Definition general_threading_test.c:20
int sem_count(const semaphore_t *sm) __nonnull_all
Retrieve the number of available resources.
int sem_destroy(semaphore_t *sm) __nonnull_all
Destroy a semaphore.
int sem_signal(semaphore_t *sm) __nonnull_all
Signal a semaphore.
static int sem_init_posix(sem_t *sem, int shared, unsigned int value)
Definition semaphore.h:55
#define sem_init(...)
Definition semaphore.h:51
semaphore_t sem_t
Definition semaphore.h:24
static int sem_post(sem_t *sem)
Definition semaphore.h:76
static int sem_close(sem_t *sem)
Definition semaphore.h:65
static int sem_getvalue(sem_t *sem, int *value)
Definition semaphore.h:70
Semaphore type.
Definition sem.h:37