uint8_t m_u8ReadCount
Number of concurrent readers.
Mutex m_clGlobalMutex
Mutex used to lock the object against concurrent read + write.
void Release()
Release Release the mutex. When the mutex is released, another object can enter the mutex-protected r...
void Claim()
Claim Claim the mutex. When the mutex is claimed, no other thread can claim a region protected by the...
void ReleaseWriter()
ReleaseWriter Release the currently held writer, allowing other readers/writers to access the object...
Single include file given to users of the Mark3 Kernel API.
bool AcquireReader_i(uint32_t u32TimeoutMs_)
AcquireReader_i Internal helper function for AcquireReaer.
void Init()
Init Initialize the reader-writer lock before use. Must be called before attempting any other operati...
void AcquireReader()
AcquireReader Acquire the object's reader lock. Multiple concurrent readers are allowed. If the writer lock is currently held, the calling thread will wait until the writer lock is relinquished.
void AcquireWriter()
AcquireWriter Acquire the writer lock. Only a single writer is allowed to access the object at a time...
bool AcquireWriter_i(uint32_t u32TimeoutMs_)
AcquireWriter_i Internal helper function for AcquireWriter.
void Init(bool bRecursive_=true)
Init Initialize a mutex object for use - must call this function before using the object...
void ReleaseReader()
ReleaseReader Release a previously-held reader lock.
Mutex m_clReaderMutex
Mutex used to lock object for readers.