ACE_Remote_Mutex Class Reference

Proxy for acquiring, renewing, and releasing a distributed mutex. More...

#include <Remote_Tokens.h>

Inheritance diagram for ACE_Remote_Mutex:

Inheritance graph
[legend]
Collaboration diagram for ACE_Remote_Mutex:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Remote_Mutex (void)
 Null creation. Remote_Token_Proxy::open must be called.

 ACE_Remote_Mutex (const ACE_TCHAR *token_name, int ignore_deadlock=0, int debug=0)
 Calls Remote_Token_Proxy::open for you.

void dump (void) const
 Dump the state of the class.

virtual ACE_Token_Proxyclone (void) const
 Return deep copy.


Protected Member Functions

virtual ACE_Tokenscreate_token (const ACE_TCHAR *name)

Detailed Description

Proxy for acquiring, renewing, and releasing a distributed mutex.

This is the remote equivalent to ACE_Local_Mutex. The Remote_Mutex class offers methods for acquiring, renewing, and releasing a distributed synchronization mutex. Similar to ACE_Local_Mutex, ACE_Remote_Token_Proxy offers recursive acquisition, FIFO waiter ordering, and deadlock detection. It depends on the Token Server for its distributed synchronization semantics.

Definition at line 169 of file Remote_Tokens.h.


Constructor & Destructor Documentation

ACE_Remote_Mutex::ACE_Remote_Mutex void   ) 
 

Null creation. Remote_Token_Proxy::open must be called.

ACE_Remote_Mutex::ACE_Remote_Mutex const ACE_TCHAR token_name,
int  ignore_deadlock = 0,
int  debug = 0
 

Calls Remote_Token_Proxy::open for you.


Member Function Documentation

ACE_Token_Proxy * ACE_Remote_Mutex::clone void   )  const [virtual]
 

Return deep copy.

Implements ACE_Token_Proxy.

Definition at line 408 of file Remote_Tokens.cpp.

References ACE_NEW_RETURN.

00409 {
00410   ACE_Token_Proxy *temp;
00411   ACE_NEW_RETURN (temp,
00412                   ACE_Remote_Mutex (this->name (),
00413                                                       ignore_deadlock_,
00414                                                       debug_),
00415                   0);
00416   return temp;
00417 }

ACE_Tokens * ACE_Remote_Mutex::create_token const ACE_TCHAR name  )  [protected, virtual]
 

Make the correct type of ACE_Tokens. This is called by the ACE_Token_Manager.

Implements ACE_Token_Proxy.

Definition at line 420 of file Remote_Tokens.cpp.

References ACE_NEW_RETURN, and ACE_TCHAR.

00421 {
00422   ACE_Tokens *temp;
00423   ACE_NEW_RETURN (temp,
00424                   ACE_Mutex_Token (name),
00425                   0);
00426   return temp;
00427 }

void ACE_Remote_Mutex::dump void   )  const
 

Dump the state of the class.

Reimplemented from ACE_Remote_Token_Proxy.

Definition at line 430 of file Remote_Tokens.cpp.

References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, ACE_TRACE, ACE_Remote_Token_Proxy::dump(), and LM_DEBUG.

00431 {
00432 #if defined (ACE_HAS_DUMP)
00433   ACE_TRACE ("ACE_Remote_Mutex::dump");
00434   ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00435   ACE_DEBUG ((LM_DEBUG,  ACE_LIB_TEXT ("ACE_Remote_Mutex::dump:\n")));
00436   ACE_DEBUG ((LM_DEBUG,  ACE_LIB_TEXT ("base:\n")));
00437   ACE_Remote_Token_Proxy::dump ();
00438   ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00439 #endif /* ACE_HAS_DUMP */
00440 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:28:09 2006 for ACE by doxygen 1.3.6