|
| | RecursiveMutex () |
| | Constructs and initialises the recursive mutex.
|
| |
|
| ~RecursiveMutex () |
| | Destroys the recursive mutex, releasing the underlying kernel resource.
|
| |
|
| RecursiveMutex (const RecursiveMutex &)=delete |
| |
|
RecursiveMutex & | operator= (const RecursiveMutex &)=delete |
| |
| | RecursiveMutex (RecursiveMutex &&other) noexcept |
| | Move constructor — transfers ownership of the kernel handle.
|
| |
| RecursiveMutex & | operator= (RecursiveMutex &&other) noexcept |
| | Move-assignment operator — transfers ownership of the kernel handle.
|
| |
| int | lock (uint32_t timeout_ms=OVE_WAIT_FOREVER) |
| | Acquires the recursive mutex.
|
| |
|
void | unlock () |
| | Releases one level of the recursive lock.
|
| |
| bool | valid () const |
| | Returns true if the underlying kernel handle is non-null.
|
| |
| ove_mutex_t | handle () const |
| | Returns the raw oveRTOS mutex handle.
|
| |
RAII wrapper around an oveRTOS recursive mutex.
A recursive mutex may be locked multiple times by the same thread without deadlocking; each lock call must be paired with a matching unlock call. Ownership and zero-heap behaviour mirror that of Mutex.
- Note
- Not copyable. Move-only when heap allocation is enabled.