
Public Methods | |
| PrivateMutexContext (Mutex::MutexType i_type) | |
| ~PrivateMutexContext () | |
| virtual void | Lock () |
| bool | CheckThisThreadHoldsLock () |
| bool | TryLock () |
| void | Unlock () |
| bool | WakeConditional () |
Public Attributes | |
| SpinLock | m_spin_lock |
| HANDLE | m_os_semaphore |
| bool | m_recusive |
| unsigned | m_recusion_count |
| Task::TaskID | m_task_id |
| PrivateConditionalContext * | m_conditional_list |
|
|
|
|
|
|
|
|
This checks that this thread is the thread holding the lock. |
|
|
Attempt to lock the mutex.
|
|
|
TryLock will attempt to take the lock without waiting |
|
|
Unlock this lock. This combines the conditional lock. |
|
|
WakeConditional will awaken the conditional variable (if any)
|
|
|
The list of conditional variables that need awakening. |
|
|
Each mutex has an OS handle to a mutex. This is locked once attempts to attain the spin lock have failed. |
|
|
m_recusion_count is the number of times this is locked. |
|
|
m_recusive indicates that this is a recursive lock |
|
|
m_spin_lock is the basic spin lock - it will fail to get the lock after a small number of cycles. |
|
|
m_task_id is the ID of the task that currently holds this lock. |
Generated for Austria by
and
MakeXS at Sun Oct 24 17:35:34 PDT 2004