objc

Data Structures | Macros | Functions
sync.h File Reference

Synchronization primitives for thread-safe operations. More...

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for sync.h:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Synchronization primitives for thread-safe operations.

Definition in file sync.h.