Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# ACE_Local_Mutex Class Reference

Class that acquires, renews, and releases a synchronization token local to the process. More...

`#include <Local_Tokens.h>`

Inheritance diagram for ACE_Local_Mutex:

[legend]
Collaboration diagram for ACE_Local_Mutex:

[legend]
List of all members.

## Public Member Functions
| ACE_Local_Mutex (const ACE_TCHAR *token_name=0, int ignore_deadlock=0, int debug=0)
| ~ACE_Local_Mutex (void)
| Destructor.
void | dump (void) const
| Dump the state of the class.
virtual ACE_Token_Proxy * | clone (void) const
| Return deep copy.
## Protected Member Functions
virtual ACE_Tokens * | create_token (const ACE_TCHAR *name)
| Return a new ACE_Local_Mutex.

## Detailed Description

Class that acquires, renews, and releases a synchronization token local to the process.

This class is a more general-purpose synchronization mechanism than SunOS 5.x mutexes. For example, it implements "recursive mutex" semantics, where a thread that owns the token can reacquire it without deadlocking. In addition, threads that are blocked awaiting the token are serviced in strict FIFO order as other threads release the token (SunOS 5.x mutexes don't strictly enforce an acquisition order). Lastly, ACE_Local_Mutex performs deadlock detection on acquire calls. The interfaces for acquire, tryacquire, renew, release, etc. are defined in ACE_Token_Proxy. The semantics for ACE_Local_Mutex are that of a mutex.

## Constructor & Destructor Documentation

ACE_Local_Mutex::ACE_Local_Mutex | ( | const ACE_TCHAR * | token_name = `0`,
|  | int | ignore_deadlock = `0`,
|  | int | debug = `0`
| ) |

  | Constructor. Parameters:
  | token_name | Uniquely id's the token.
  | ignore_deadlock | Will allow deadlock to occur (useful for testing).
  | debug | Prints a bunch of messages.

ACE_Local_Mutex::~ACE_Local_Mutex | ( | void |  | ) |

| Destructor.

## Member Function Documentation

ACE_Token_Proxy * ACE_Local_Mutex::clone | ( | void |  | ) | const`[virtual]`

| Return deep copy. Implements ACE_Token_Proxy.

ACE_Tokens * ACE_Local_Mutex::create_token | ( | const ACE_TCHAR * | name | ) | `[protected, virtual]`

| Return a new ACE_Local_Mutex. Implements ACE_Token_Proxy.

void ACE_Local_Mutex::dump | ( | void |  | ) | const

| Dump the state of the class. Reimplemented from ACE_Token_Proxy.

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

- Local_Tokens.h
- Local_Tokens.cpp