#include <Local_Tokens.h>
Inheritance diagram for ACE_Local_WLock:
Public Methods | |
ACE_Local_WLock (const ACE_TCHAR *token_name=0, int ignore_deadlock=0, int debug=0) | |
~ACE_Local_WLock (void) | |
Destructor. | |
void | dump (void) const |
Dump the state of the class. | |
virtual int | type (void) const |
Returns ACE_RW_Token::WLOCK. | |
virtual ACE_Token_Proxy * | clone (void) const |
Return deep copy. | |
Protected Methods | |
ACE_Tokens * | create_token (const ACE_TCHAR *name) |
Return a new ACE_Local_Mutex. |
This class implements the writer interface to canonical readers/writer locks. Multiple readers can hold the lock simultaneously when no writers have the lock. Alternatively, when a writer holds the lock, no other participants (readers or writers) may hold the lock. This class is a more general-purpose synchronization mechanism than SunOS 5.x WLock. For example, it implements "recursive WLock" 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 WLocks don't strictly enforce an acquisition order). The interfaces for acquire, tryacquire, renew, release, etc. are defined in ACE_Token_Proxy. The semantics for ACE_Local_WLock are that of a readers/writers lock. Acquire for this class implies a writer acquisition. That is, only one client may hold the lock for writing.
|
Constructor.
|
|
Destructor.
|
|
Return deep copy.
Implements ACE_Token_Proxy. |
|
Return a new ACE_Local_Mutex.
Implements ACE_Token_Proxy. |
|
Dump the state of the class.
Reimplemented from ACE_Token_Proxy. |
|
Returns ACE_RW_Token::WLOCK.
Reimplemented from ACE_Token_Proxy. |