Zephyr Project Requirements
Condition Variables

Condition Variables

1. Dynamic initialization of condition variables
UID: ZEP-SRS-21-1
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable dynamically (at runtime).

2. Static initialization of condition variables
UID: ZEP-SRS-21-2
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable statically (at compile time).

3. Signal one waiting thread
UID: ZEP-SRS-21-3
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

The Zephyr RTOS shall provide a mechanism to signal the highest priorite waiting thread when a condition is met.

4. Signal multiple waiting threads
UID: ZEP-SRS-21-4
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

The Zephyr RTOS shall provide a mechanism to signal all waiting threads when a condition is met.

5. Wait on a condition variable
UID: ZEP-SRS-21-5
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

The Zephyr RTOS shall provide a mechanism for a thread to wait on a condition variable.

6. Wait timeout on a condition variable
UID: ZEP-SRS-21-6
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

When waiting on a condition variable, the thread shall specify a timeout value.

7. Wait timeout occurence
UID: ZEP-SRS-21-7
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

When a timeout occurs while waiting on a condition variable, the thread shall be unblocked and a timeout error shall be returned.

8. Release mutex on wait
UID: ZEP-SRS-21-8
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

If a thread is waiting on a condition variable, the thread shall release the current owned mutex independently.

9. Unblock a waiting thread
UID: ZEP-SRS-21-9
STATUS: Draft
TYPE: Functional
COMPONENT: Condition Variables
parent relations:
STATEMENT:

henever some thread signals a condition variable the Zephyr RTOS shall unblock the highest priority thread currently waiting for this condition variable.