#include <Guard_T.h>
Public Member Functions | |
ACE_Guard (ACE_LOCK &l) | |
ACE_Guard (ACE_LOCK &l, bool block) | |
ACE_Guard (ACE_LOCK &l, bool block, int become_owner) | |
~ACE_Guard (void) | |
Implicitly release the lock. | |
int | acquire (void) |
Explicitly acquire the lock. | |
int | tryacquire (void) |
Conditionally acquire the lock (i.e., won't block). | |
int | release (void) |
Explicitly release the lock, but only if it is held! | |
void | disown (void) |
bool | locked (void) const |
int | remove (void) |
Explicitly remove the lock. | |
void | dump (void) const |
Dump the state of an object. | |
Protected Member Functions | |
ACE_Guard (ACE_LOCK *lock) | |
Helper, meant for subclass only. | |
Protected Attributes | |
ACE_LOCK * | lock_ |
Pointer to the ACE_LOCK we're guarding. | |
int | owner_ |
Keeps track of whether we acquired the lock or failed. | |
Private Member Functions | |
void | operator= (const ACE_Guard< ACE_LOCK > &) |
ACE_Guard (const ACE_Guard< ACE_LOCK > &) |
Template specialization of ACE_Guard for the ACE_Null_Mutex.
The <ACE_LOCK> class given as an actual parameter must provide at the very least the <acquire>, <tryacquire>, <release>, and <remove> methods.
This specialization is useful since it helps to speedup performance of the "Null_Mutex" considerably.
Implicitly and automatically acquire (or try to acquire) the lock. If block is non-0 then <acquire> the <ACE_LOCK>, else <tryacquire> it.
ACE_Guard< ACE_LOCK >::ACE_Guard | ( | ACE_LOCK & | l, | |
bool | block, | |||
int | become_owner | |||
) |
Initialise the guard without implicitly acquiring the lock. The become_owner parameter indicates whether the guard should release the lock implicitly on destruction. The block parameter is ignored and is used here to disambiguate with the preceding constructor.
Helper, meant for subclass only.
ACE_Guard< ACE_LOCK >::ACE_Guard | ( | const ACE_Guard< ACE_LOCK > & | ) | [private] |
int ACE_Guard< ACE_LOCK >::acquire | ( | void | ) |
Explicitly acquire the lock.
Reimplemented in ACE_Write_Guard< ACE_LOCK >, and ACE_Read_Guard< ACE_LOCK >.
void ACE_Guard< ACE_LOCK >::disown | ( | void | ) |
Relinquish ownership of the lock so that it is not released implicitly in the destructor.
void ACE_Guard< ACE_LOCK >::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented in ACE_Write_Guard< ACE_LOCK >, and ACE_Read_Guard< ACE_LOCK >.
bool ACE_Guard< ACE_LOCK >::locked | ( | void | ) | const |
true if locked, false if couldn't acquire the lock (errno will contain the reason for this).
void ACE_Guard< ACE_LOCK >::operator= | ( | const ACE_Guard< ACE_LOCK > & | ) | [private] |
int ACE_Guard< ACE_LOCK >::release | ( | void | ) |
Explicitly release the lock, but only if it is held!
int ACE_Guard< ACE_LOCK >::remove | ( | void | ) |
Explicitly remove the lock.
int ACE_Guard< ACE_LOCK >::tryacquire | ( | void | ) |
Conditionally acquire the lock (i.e., won't block).
Reimplemented in ACE_Write_Guard< ACE_LOCK >, and ACE_Read_Guard< ACE_LOCK >.
Pointer to the ACE_LOCK we're guarding.
Keeps track of whether we acquired the lock or failed.