66 void*
operator new(
size_t sz,
void* pv) {
return reinterpret_cast<Mutex*
>(pv); };
76 void Init(
bool bRecursive_ =
true);
105 bool Claim(uint32_t u32WaitTimeMS_);
156 bool Claim_i(uint32_t u32WaitTimeMS_);
Basic data type primatives used throughout the OS.
Thread * m_pclOwner
Pointer to the thread that owns the mutex (when claimed)
PORT_PRIO_TYPE m_uMaxPri
Maximum priority of thread in queue, used for priority inheritence.
uint8_t WakeNext()
WakeNext.
void Release()
Release Release the mutex. When the mutex is released, another object can enter the mutex-protected r...
#define PORT_PRIO_TYPE
Type used for bitmap in the PriorityMap class.
void Claim()
Claim Claim the mutex. When the mutex is claimed, no other thread can claim a region protected by the...
Blocking object base class declarations.
uint8_t m_u8Recurse
The recursive lock-count when a mutex is claimed multiple times by the same owner.
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 Claim_i(uint32_t u32WaitTimeMS_)
Claim_i Abstracts out timed/non-timed mutex claim operations.
The Thread Class. This object providing the fundamental thread control data structures and functions ...
void Init(bool bRecursive_=true)
Init Initialize a mutex object for use - must call this function before using the object...
void WakeMe(Thread *pclOwner_)
WakeMe Wake a thread blocked on the mutex. This is an internal function used for implementing timed m...
The BlockingObject class. Class implementing thread-blocking primatives. used for implementing things...
bool m_bRecursive
Whether or not the lock is recursive.
bool m_bReady
State of the mutex - true = ready, false = claimed.