UCommon
Public Member Functions | Protected Member Functions | Protected Attributes
ucommon::RecursiveMutex Class Reference

Portable recursive exclusive lock. More...

#include <thread.h>

Inheritance diagram for ucommon::RecursiveMutex:
Inheritance graph
[legend]
Collaboration diagram for ucommon::RecursiveMutex:
Collaboration graph
[legend]

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.
 
- Public Member Functions inherited from ucommon::ExclusiveAccess
void exclusive_lock (void)
 Access interface to exclusive lock the object.
 
void release_exclusive (void)
 Access interface to release a lock.
 

Protected Member Functions

virtual void _lock (void)
 
virtual void _unlock (void)
 

Protected Attributes

pthread_t locker
 
unsigned lockers
 
unsigned waiting
 

Additional Inherited Members

- Static Private Member Functions inherited from ucommon::Conditional
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...
 

Detailed Description

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.

Definition at line 454 of file thread.h.


The documentation for this class was generated from the following file: