#include <Local_Tokens.h>
Inheritance diagram for ACE_Local_Mutex:
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. |
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.
Definition at line 972 of file Local_Tokens.h.
|
Constructor.
|
|
Destructor.
Definition at line 1542 of file Local_Tokens.cpp.
01543 { 01544 } |
|
Return deep copy.
Implements ACE_Token_Proxy. Definition at line 1521 of file Local_Tokens.cpp. References ACE_NEW_RETURN, and ACE_Tokens::name().
01522 { 01523 ACE_Token_Proxy *temp = 0; 01524 ACE_NEW_RETURN (temp, 01525 ACE_Local_Mutex (token_->name (), 01526 ignore_deadlock_, 01527 debug_), 01528 0); 01529 return temp; 01530 } |
|
Return a new ACE_Local_Mutex.
Implements ACE_Token_Proxy. Definition at line 1533 of file Local_Tokens.cpp. References ACE_NEW_RETURN, and ACE_TCHAR.
01534 { 01535 ACE_Tokens *temp = 0; 01536 ACE_NEW_RETURN (temp, 01537 ACE_Mutex_Token (name), 01538 0); 01539 return temp; 01540 } |
|
Dump the state of the class.
Reimplemented from ACE_Token_Proxy. |