44 #define SYS_MUTEX_CTX_SIZE 64 52 #define SYS_COND_CTX_SIZE 64 60 #define SYS_WAITGROUP_CTX_SIZE 128 // Larger to hold mutex + cond + counter 207 uint32_t timeout_ms);
#define SYS_COND_CTX_SIZE
Buffer size for platform-specific condition variable context dataAdjust based on platform requirement...
bool init
Indicates if the mutex is initialized.
void sys_cond_finalize(sys_cond_t *cond)
Finalize and cleanup a condition variable.
#define SYS_WAITGROUP_CTX_SIZE
Buffer size for platform-specific waitgroup context dataAdjust based on platform requirements.
bool sys_cond_broadcast(sys_cond_t *cond)
Signal all waiting threads.
Waitgroup context structure.
void sys_waitgroup_finalize(sys_waitgroup_t *wg)
Finalize and cleanup a waitgroup - wait for completion then cleanup.
bool init
Indicates if the waitgroup is initialized.
void sys_mutex_finalize(sys_mutex_t *mutex)
Finalize and cleanup a mutex.
Condition variable context structure.
bool sys_cond_signal(sys_cond_t *cond)
Signal one waiting thread.
sys_mutex_t sys_mutex_init(void)
Initialize a new mutex.
uint64_t align
Force 8-byte alignment.
#define SYS_MUTEX_CTX_SIZE
Buffer size for platform-specific mutex context dataAdjust based on platform requirements.
sys_waitgroup_t sys_waitgroup_init(void)
Initialize a new waitgroup.
bool init
Indicates if the condition variable is initialized.
bool sys_mutex_lock(sys_mutex_t *mutex)
Lock a mutex, by blocking.
bool sys_waitgroup_done(sys_waitgroup_t *wg)
Decrement the waitgroup counter.
sys_cond_t sys_cond_init(void)
Initialize a new condition variable.
bool sys_waitgroup_add(sys_waitgroup_t *wg, int delta)
Add to the waitgroup counter.
bool sys_cond_wait(sys_cond_t *cond, sys_mutex_t *mutex)
Wait on a condition variable.
bool sys_cond_timedwait(sys_cond_t *cond, sys_mutex_t *mutex, uint32_t timeout_ms)
Wait on a condition variable with timeout.
bool sys_mutex_unlock(sys_mutex_t *mutex)
Unlock a mutex.
bool sys_mutex_trylock(sys_mutex_t *mutex)
Try to lock a mutex.
uint64_t align
Force 8-byte alignment.