#include <Synch_T.h>
Inheritance diagram for ACE_Guard:


Public Methods | |
| ACE_Guard (ACE_LOCK &l) | |
| ACE_Guard (ACE_LOCK &l, int block) | |
| Implicitly and automatically acquire (or try to acquire) the lock. If <block> is non-0 then <acquire> the <ACE_LOCK>, else <tryacquire> it. More... | |
| ACE_Guard (ACE_LOCK &l, int 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. More... | |
| ~ACE_Guard (void) | |
| Implicitly release the lock. More... | |
| int | acquire (void) |
| Explicitly acquire the lock. More... | |
| int | tryacquire (void) |
| Conditionally acquire the lock (i.e., won't block). More... | |
| int | release (void) |
| Explicitly release the lock, but only if it is held! More... | |
| void | disown (void) |
| Relinquish ownership of the lock so that it is not released implicitly in the destructor. More... | |
| int | locked (void) const |
| 1 if locked, 0 if couldn't acquire the lock (errno will contain the reason for this). More... | |
| int | remove (void) |
| Explicitly remove the lock. More... | |
| void | dump (void) const |
| Dump the state of an object. More... | |
Protected Methods | |
| ACE_Guard (ACE_LOCK *lock) | |
| Helper, meant for subclass only. More... | |
Protected Attributes | |
| ACE_LOCK * | lock_ |
| Pointer to the ACE_LOCK we're guarding. More... | |
| int | owner_ |
| Keeps track of whether we acquired the lock or failed. More... | |
Private Methods | |
| void | operator= (const ACE_Guard< ACE_LOCK > &) |
| ACE_Guard (const ACE_Guard< ACE_LOCK > &) | |
The <ACE_LOCK> class given as an actual parameter must provide at the very least the <acquire>, <tryacquire>, <release>, and <remove> methods.
Definition at line 350 of file Synch_T.h.
|
||||||||||
|
Definition at line 31 of file Synch_T.i. References acquire.
|
|
||||||||||||||||
|
Implicitly and automatically acquire (or try to acquire) the lock. If <block> is non-0 then <acquire> the <ACE_LOCK>, else <tryacquire> it.
Definition at line 39 of file Synch_T.i. References acquire, and tryacquire.
00040 : lock_ (&l), 00041 owner_ (0) 00042 { 00043 if (block) 00044 this->acquire (); 00045 else 00046 this->tryacquire (); 00047 } |
|
||||||||||||||||||||
|
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.
Definition at line 50 of file Synch_T.i.
|
|
||||||||||
|
Implicitly release the lock.
Definition at line 61 of file Synch_T.i. References release.
00062 {
00063 this->release ();
00064 }
|
|
||||||||||
|
Helper, meant for subclass only.
Definition at line 404 of file Synch_T.h. References lock_.
00404 : lock_ (lock) {} |
|
||||||||||
|
|
|
||||||||||
|
Explicitly acquire the lock.
Reimplemented in ACE_Write_Guard. Definition at line 7 of file Synch_T.i. Referenced by ACE_Guard.
|
|
||||||||||
|
Relinquish ownership of the lock so that it is not released implicitly in the destructor.
Definition at line 79 of file Synch_T.i. References owner_.
00080 {
00081 this->owner_ = -1;
00082 }
|
|
||||||||||
|
Dump the state of an object.
Reimplemented in ACE_Write_Guard. Definition at line 40 of file Synch_T.cpp. References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, and LM_DEBUG. Referenced by ACE_Read_Guard::dump, and ACE_Write_Guard::dump.
00041 {
00042 // ACE_TRACE ("ACE_Guard<ACE_LOCK>::dump");
00043
00044 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00045 ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("mutex_ = %x\n"), this->lock_));
00046 ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("owner_ = %d\n"), this->owner_));
00047 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00048 }
|
|
||||||||||
|
1 if locked, 0 if couldn't acquire the lock (errno will contain the reason for this).
Definition at line 67 of file Synch_T.i. References owner_.
00068 {
00069 return this->owner_ != -1;
00070 }
|
|
||||||||||
|
|
|
||||||||||
|
Explicitly release the lock, but only if it is held!
Definition at line 19 of file Synch_T.i. Referenced by ~ACE_Guard.
|
|
||||||||||
|
Explicitly remove the lock.
Definition at line 73 of file Synch_T.i. References lock_.
00074 {
00075 return this->lock_->remove ();
00076 }
|
|
||||||||||
|
Conditionally acquire the lock (i.e., won't block).
Reimplemented in ACE_Write_Guard. Definition at line 13 of file Synch_T.i. Referenced by ACE_Guard.
|
|
|||||
|
Pointer to the ACE_LOCK we're guarding.
Definition at line 407 of file Synch_T.h. Referenced by ACE_Guard, ACE_Read_Guard::acquire, ACE_Write_Guard::acquire, acquire, ACE_Read_Guard::acquire_read, ACE_Write_Guard::acquire_write, release, remove, ACE_Read_Guard::tryacquire, ACE_Write_Guard::tryacquire, tryacquire, ACE_Read_Guard::tryacquire_read, and ACE_Write_Guard::tryacquire_write. |
|
|||||
|
Keeps track of whether we acquired the lock or failed.
Definition at line 410 of file Synch_T.h. Referenced by ACE_Read_Guard::acquire, ACE_Write_Guard::acquire, acquire, ACE_Read_Guard::acquire_read, ACE_Write_Guard::acquire_write, disown, locked, release, ACE_Read_Guard::tryacquire, ACE_Write_Guard::tryacquire, tryacquire, ACE_Read_Guard::tryacquire_read, and ACE_Write_Guard::tryacquire_write. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002