Condition Variables
The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable dynamically (at runtime).
The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable statically (at compile time).
The Zephyr RTOS shall provide a mechanism to signal the highest priorite waiting thread when a condition is met.
The Zephyr RTOS shall provide a mechanism to signal all waiting threads when a condition is met.
The Zephyr RTOS shall provide a mechanism for a thread to wait on a condition variable.
When waiting on a condition variable, the thread shall specify a timeout value.
When a timeout occurs while waiting on a condition variable, the thread shall be unblocked and a timeout error shall be returned.
If a thread is waiting on a condition variable, the thread shall release the current owned mutex independently.
henever some thread signals a condition variable the Zephyr RTOS shall unblock the highest priority thread currently waiting for this condition variable.