Inheritance diagram for DAQThreadRecursiveMutex::

Public Methods | |
| DAQThreadRecursiveMutex () | |
| Constructor. More... | |
| ~DAQThreadRecursiveMutex () | |
| Destructor. More... | |
| int | Lock () |
| Lock mutex. More... | |
| int | TryLock () |
| Try to lock mutex. More... | |
| int | UnLock () |
| Try to unlock mutex. More... | |
| bool | IsLocked () |
| Test if the mutex is locked. More... | |
| int | UnLockCompletely () |
| Completely unlock the mutex. More... | |
| virtual void | PrintEyeCatcher (ostream &) |
| Print an eye catcher. More... | |
Protected Attributes | |
| daqthread_mutex_t | thrdmutex |
| The mutex. More... | |
| daqthread_mutex_t | monitormutex |
| The monitor mutex. More... | |
| daqthread_t | owningthread |
| The thread that owns this mutex. More... | |
| unsigned int | lockdepth |
| The depth to which this mutex has been locked. More... | |
Friends | |
| class | DAQThreadCond |
The DAQThreadRecursiveMutex class provides methods that implement a recursive mutex. A recursive mutex is capable of being locked multiple times by the same thread without blocking. Other threads will block on the mutex until the owning thread unlocks the mutex to a recursive depth of zero.
|
|
Basic constructor method for this class.
|
|
|
Destructor method for this class.
|
|
|
Tests if the mutex is locked and returns true if it is.
|
|
|
Attempts to lock the mutex. This method will block if the mutex has been locked by another thread and that thread does not currently own the mutex.
|
|
|
Print an eye catcher for this mutex.
Reimplemented from DAQObject. |
|
|
Attempts to lock the mutex. This method doesn't block if the mutex has been locked by another thread.
|
|
|
Attempts to unlock the mutex. Only the owning thread can unlock the mutex.
|
|
|
Completely unlocks the mutex such that the recursive locking level is set to zero. This can only be done by the owning thread.
|
|
|
The depth to which the owning thread has locked this mutex. |
|
|
The monitor mutex that protects the recursive structures used to implement the recursive mutex. |
|
|
The thread that owns this mutex. This thread is allowed to lock the mutex repetively. |
|
|
The actual mutex that is locked (recursively). |
1.2.9.1 written by Dimitri van Heesch,
© 1997-2001