UCommon
|
Portable recursive exclusive lock. More...
#include <thread.h>
Public Types | |
typedef autoexclusive < RecursiveMutex > | autolock |
Public Member Functions | |
void | lock (void) |
Acquire or increase locking. | |
bool | lock (timeout_t timeout) |
Timed lock request. | |
RecursiveMutex () | |
Create rexlock. | |
void | release (void) |
Release or decrease locking. | |
Protected Member Functions | |
virtual void | _lock (void) |
virtual void | _unlock (void) |
Protected Attributes | |
pthread_t | locker |
unsigned | lockers |
unsigned | waiting |
Additional Inherited Members | |
![]() | |
static pthread_condattr_t * | initializer (void) |
Support function for getting conditional attributes for realtime scheduling. More... | |
static void | set (struct timespec *hires, timeout_t timeout) |
Convert a millisecond timeout into use for high resolution conditional timers. More... | |
Portable recursive exclusive lock.
This class is built from the conditional and hence does not require support for non-standard and platform specific extensions to pthread mutex to support recrusive style mutex locking. The exclusive protocol is implimented to support exclusive_lock referencing.