Go to the documentation of this file.
34 #if (CH_CFG_USE_CONDVARS == TRUE) || defined(__DOXYGEN__)
48 #if CH_CFG_USE_MUTEXES == FALSE
49 #error "CH_CFG_USE_CONDVARS requires CH_CFG_USE_MUTEXES"
75 #define _CONDVAR_DATA(name) {_CH_QUEUE_DATA(name.queue)}
84 #define CONDVAR_DECL(name) condition_variable_t name = _CONDVAR_DATA(name)
100 #if CH_CFG_USE_CONDVARS_TIMEOUT == TRUE
void chCondSignal(condition_variable_t *cp)
Signals one thread that is waiting on the condition variable.
void chCondBroadcast(condition_variable_t *cp)
Signals all threads that are waiting on the condition variable.
void chCondSignalI(condition_variable_t *cp)
Signals one thread that is waiting on the condition variable.
ch_queue_t queue
Condition variable threads queue.
msg_t chCondWaitTimeout(condition_variable_t *cp, sysinterval_t timeout)
Waits on the condition variable releasing the mutex lock.
msg_t chCondWait(condition_variable_t *cp)
Waits on the condition variable releasing the mutex lock.
struct condition_variable condition_variable_t
condition_variable_t structure.
Structure representing a generic bidirectional linked list header and element.
msg_t chCondWaitTimeoutS(condition_variable_t *cp, sysinterval_t timeout)
Waits on the condition variable releasing the mutex lock.
uint64_t sysinterval_t
Type of time interval.
condition_variable_t structure.
void chCondBroadcastI(condition_variable_t *cp)
Signals all threads that are waiting on the condition variable.
msg_t chCondWaitS(condition_variable_t *cp)
Waits on the condition variable releasing the mutex lock.
void chCondObjectInit(condition_variable_t *cp)
Initializes s condition_variable_t structure.