43 void*
operator new(
size_t sz,
void* pv) {
return reinterpret_cast<ReaderWriterLock*
>(pv); }
The ReaderWriterLock class. This class implements an object that marshalls access to a resource based...
uint8_t m_u8ReadCount
Number of concurrent readers.
Mutex m_clGlobalMutex
Mutex used to lock the object against concurrent read + write.
Blocking object base class declarations.
void ReleaseWriter()
ReleaseWriter Release the currently held writer, allowing other readers/writers to access the object...
Mark3 Kernel Configuration This file is used to configure the kernel for your specific application in...
The Mutex Class. Class providing Mutual-exclusion locks, based on BlockingObject. ...
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...
Mutual exclusion class declaration Resource locks are implemented using mutual exclusion semaphores (...
bool AcquireWriter_i(uint32_t u32TimeoutMs_)
AcquireWriter_i Internal helper function for AcquireWriter.
void ReleaseReader()
ReleaseReader Release a previously-held reader lock.
Mutex m_clReaderMutex
Mutex used to lock object for readers.