Synchronization primitives for thread-safe operations. More...
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | sys_mutex_t |
Mutex context structure. More... | |
struct | sys_cond_t |
Condition variable context structure. More... | |
struct | sys_waitgroup_t |
Waitgroup context structure. More... | |
Macros | |
#define | SYS_MUTEX_CTX_SIZE 64 |
Buffer size for platform-specific mutex context dataAdjust based on platform requirements. | |
#define | SYS_COND_CTX_SIZE 64 |
Buffer size for platform-specific condition variable context dataAdjust based on platform requirements. | |
#define | SYS_WAITGROUP_CTX_SIZE 128 |
Buffer size for platform-specific waitgroup context dataAdjust based on platform requirements. | |
Functions | |
sys_mutex_t | sys_mutex_init (void) |
Initialize a new mutex. More... | |
bool | sys_mutex_lock (sys_mutex_t *mutex) |
Lock a mutex, by blocking. More... | |
bool | sys_mutex_trylock (sys_mutex_t *mutex) |
Try to lock a mutex. More... | |
bool | sys_mutex_unlock (sys_mutex_t *mutex) |
Unlock a mutex. More... | |
void | sys_mutex_finalize (sys_mutex_t *mutex) |
Finalize and cleanup a mutex. More... | |
sys_cond_t | sys_cond_init (void) |
Initialize a new condition variable. More... | |
bool | sys_cond_wait (sys_cond_t *cond, sys_mutex_t *mutex) |
Wait on a condition variable. More... | |
bool | sys_cond_timedwait (sys_cond_t *cond, sys_mutex_t *mutex, uint32_t timeout_ms) |
Wait on a condition variable with timeout. More... | |
bool | sys_cond_signal (sys_cond_t *cond) |
Signal one waiting thread. More... | |
bool | sys_cond_broadcast (sys_cond_t *cond) |
Signal all waiting threads. More... | |
void | sys_cond_finalize (sys_cond_t *cond) |
Finalize and cleanup a condition variable. More... | |
sys_waitgroup_t | sys_waitgroup_init (void) |
Initialize a new waitgroup. More... | |
bool | sys_waitgroup_add (sys_waitgroup_t *wg, int delta) |
Add to the waitgroup counter. More... | |
bool | sys_waitgroup_done (sys_waitgroup_t *wg) |
Decrement the waitgroup counter. More... | |
void | sys_waitgroup_finalize (sys_waitgroup_t *wg) |
Finalize and cleanup a waitgroup - wait for completion then cleanup. More... | |
Synchronization primitives for thread-safe operations.
Definition in file sync.h.