Semaphore definitions. More...
Semaphore definitions.
Definition in file sema.h.
Go to the source code of this file.
Data Structures | |
struct | sema_t |
A Semaphore. More... | |
Macros | |
#define | SEMA_CREATE(value) { (value), SEMA_OK, MUTEX_INIT } |
Creates semaphore statically. More... | |
#define | SEMA_CREATE_LOCKED() { (0), SEMA_OK, MUTEX_INIT_LOCKED } |
Creates semaphore statically initialized to 0. More... | |
Enumerations | |
enum | sema_state_t { SEMA_OK = 0, SEMA_DESTROY } |
A Semaphore states. | |
Functions | |
void | sema_create (sema_t *sema, unsigned int value) |
Creates semaphore dynamically. More... | |
void | sema_destroy (sema_t *sema) |
Destroys a semaphore. More... | |
int | _sema_wait (sema_t *sema, int block, uint64_t timeout) |
Wait for a semaphore, blocking or non-blocking. More... | |
static int | sema_wait_timed (sema_t *sema, uint64_t timeout) |
Wait for a semaphore being posted. More... | |
static int | sema_wait (sema_t *sema) |
Wait for a semaphore being posted (without timeout). More... | |
static int | sema_try_wait (sema_t *sema) |
Test if the semaphore is posted. More... | |
int | sema_post (sema_t *sema) |
Signal semaphore. More... | |