ucc::rexlock Class Reference

Portable recursive exclusive lock. More...

#include <thread.h>

Inheritance diagram for ucc::rexlock:

Inheritance graph
[legend]
Collaboration diagram for ucc::rexlock:

Collaboration graph
[legend]

Public Member Functions

unsigned getLocking (void)
 Get the number of recursive locking levels.
unsigned getWaiting (void)
 Get the number of threads waiting on lock.
bool lock (timeout_t timeout)
 Timed lock request.
void lock (void)
 Acquire or increase locking.
void release (void)
 Release or decrease locking.
 rexlock ()
 Create rexlock.

Static Public Member Functions

static void lock (rexlock &rex)
 Convenience method to lock a recursive lock.
static void release (rexlock &rex)
 Convenience method to unlock a recursive lock.

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 473 of file thread.h.


Member Function Documentation

unsigned ucc::rexlock::getLocking ( void   ) 

Get the number of recursive locking levels.

Returns:
locking level.

unsigned ucc::rexlock::getWaiting ( void   ) 

Get the number of threads waiting on lock.

Returns:
wating thread count.

static void ucc::rexlock::lock ( rexlock rex  )  [inline, static]

Convenience method to lock a recursive lock.

Parameters:
rex lock to lock.

Definition at line 520 of file thread.h.

Here is the call graph for this function:

static void ucc::rexlock::release ( rexlock rex  )  [inline, static]

Convenience method to unlock a recursive lock.

Parameters:
rex lock to release.

Definition at line 527 of file thread.h.

Here is the call graph for this function:


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

Generated on Tue May 17 12:15:40 2011 for UCommon by  doxygen 1.5.6