This class implements a recursive mutex (i.e., a mutex that can be locked any number of times by a thread, and then released by unlocking the mutex the same number of times). If there is an efficient native recursive mutex, this class wraps it. Otherwise, a reasonably efficient proprietary implementation is used. Note that Mutex should be preferred if at all possible.
Synopsis
Declared in <bslmt_recursivemutex.h>
class RecursiveMutex;
Member Functions
Name |
Description |
|
Create a recursive mutex object in the unlocked state. This method does not return normally unless there are sufficient system resources to construct the object. |
|
Destroy this recursive mutex object. |
Acquire a lock on this object. If this object is currently locked, then suspend execution of the current thread until a lock can be acquired. Succeed immediately if this thread already holds the lock. |
|
Attempt to acquire a lock on this object. Return 0 on success, and a non‐zero value if this object is already locked by another thread, or if an error occurs. Succeed immediately if this thread already holds the lock. |
|
Release a lock on this object that was previously acquired through a call to |
Created with MrDocs