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) {_THREADS_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 chCondObjectInit(condition_variable_t *cp)
Initializes s condition_variable_t structure.
void chCondBroadcast(condition_variable_t *cp)
Signals all threads that are waiting on the condition variable.
uint64_t sysinterval_t
Type of time interval.
void chCondSignal(condition_variable_t *cp)
Signals one thread that is waiting on the condition variable.
void chCondSignalI(condition_variable_t *cp)
Signals one thread that is waiting on the condition variable.
Generic threads bidirectional linked list header and element.
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.
condition_variable_t structure.
msg_t chCondWaitTimeoutS(condition_variable_t *cp, sysinterval_t timeout)
Waits on the condition variable releasing the mutex lock.
struct condition_variable condition_variable_t
condition_variable_t structure.
threads_queue_t queue
Condition variable threads queue.
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.