Expand description
Synchronization primitives for oveRTOS.
Provides RAII wrappers for mutexes, recursive mutexes, semaphores, events,
and condition variables. All types implement Send + Sync and work in both
heap and zero-heap modes.
Structs§
- CondVar
- Cond
VarStorage - Condition variable. Pair with
Mutex<T>to wait on state changes. - Event
- Binary event (signal/wait).
- Event
Storage - Caller-owned storage for an
Eventin zero-heap mode (seeMutexStorage). - Mutex
- Mutex protecting a value of type
T.std::sync::Mutex<T>/parking_lot::Mutex<T>analog. - Mutex
Guard - RAII guard that unlocks a
Mutex<T>when dropped. - Mutex
Storage - Caller-owned backing storage for a
Mutexin zero-heap mode. Declare it in astaticand hand&STORAGEtoMutex::create; in heap mode the storage is ignored. Mirrors [crate::ThreadStorage] —const fn new()makes it usable from astatic, and the bytes are only ever handed to C as a raw pointer (the kernel owns the object’s synchronisation). - Recursive
Mutex - RAII wrapper around a recursive mutex.
- Recursive
Mutex Guard - RAII guard that unlocks a
RecursiveMutexwhen dropped. - Recursive
Mutex Storage - Caller-owned storage for a
RecursiveMutexin zero-heap mode (seeMutexStorage). - Semaphore
- Counting semaphore.
- Semaphore
Storage - Caller-owned backing storage for a
Semaphorein zero-heap mode. SeeMutexStoragefor the pattern; pass&STORAGEtoSemaphore::create. - Spin
Mutex - IRQ-locking mutex for very short critical sections.
- Spin
Mutex Guard - RAII guard that releases the
SpinMutexwhen dropped. - Wait
Timeout Result - Result of a
Condvar::wait_for/wait_untilcall indicating whether the wait elapsed without being signalled.