27 #ifndef EMBB_BASE_C_CONDITION_VARIABLE_H_ 28 #define EMBB_BASE_C_CONDITION_VARIABLE_H_ 46 #include <embb/base/c/internal/platform.h> 47 #include <embb/base/c/time.h> 48 #include <embb/base/c/errors.h> 69 embb_condition_t* condition_var
84 embb_condition_t* condition_var
99 embb_condition_t* condition_var
118 embb_condition_t* condition_var,
142 embb_condition_t* condition_var,
168 embb_condition_t* condition_var,
189 embb_condition_t* condition_var
int embb_condition_notify_all(embb_condition_t *condition_var)
Wakes up all threads waiting for condition_var.
int embb_condition_wait_until(embb_condition_t *condition_var, embb_mutex_t *mutex, const embb_time_t *time)
Unlocks mutex and waits until the thread is woken up or time has passed.
opaque_type embb_condition_t
Opaque type representing a condition variable.
Definition: condition_variable.h:54
int embb_condition_wait_for(embb_condition_t *condition_var, embb_mutex_t *mutex, const embb_duration_t *duration)
Unlocks mutex and waits until the thread is woken up or duration has passed.
int embb_condition_notify_one(embb_condition_t *condition_var)
Wakes up one thread waiting for condition_var.
int embb_condition_init(embb_condition_t *condition_var)
Initializes a condition variable.
opaque_type embb_time_t
Opaque type representing an absolute time point.
Definition: time.h:48
int embb_condition_wait(embb_condition_t *condition_var, embb_mutex_t *mutex)
Unlocks mutex and waits until the thread is woken up.
int embb_condition_destroy(embb_condition_t *condition_var)
Destroys condition_var and frees used memory.
opaque_type embb_duration_t
Opaque type representing a relative time duration.
Definition: duration.h:52
opaque_type embb_mutex_t
Opaque type representing a mutex.
Definition: mutex.h:55