#include <Guard.h>
Collaboration diagram for vpr::Guard:

Public Methods | |
| Guard (LOCK_TYPE &lock, int block=1) | |
| Acquires the lock implicitly. More... | |
| ~Guard () | |
| Releases the lock. More... | |
| const bool & | locked () |
| vpr::ReturnStatus | acquire () |
| Acquires the lock. More... | |
| vpr::ReturnStatus | tryAcquire () |
| Tries to acquire lock. More... | |
| vpr::ReturnStatus | release () |
| Explicity releases the lock. More... | |
Definition at line 58 of file Guard.h.
|
||||||||||||||||
|
Acquires the lock implicitly. If block = 1 then use a blocking acquire. Definition at line 65 of file Guard.h. References acquire, vpr::ReturnStatus::success, and tryAcquire.
00065 : mTheLock(&lock)
00066 {
00067 mLockStatus = block ? acquire().success() : tryAcquire().success();
00068 }
|
|
|||||||||
|
Releases the lock.
Definition at line 71 of file Guard.h.
00072 {
00073 if ( mLockStatus )
00074 {
00075 mTheLock->release();
00076 }
00077 }
|
|
|||||||||
|
Definition at line 83 of file Guard.h.
00084 {
00085 return mLockStatus;
00086 }
|
|
||||||||||
|
Acquires the lock.
Definition at line 89 of file Guard.h. Referenced by Guard.
00090 {
00091 return mTheLock->acquire();
00092 }
|
|
||||||||||
|
Tries to acquire lock.
Definition at line 95 of file Guard.h. Referenced by Guard.
00096 {
00097 return mTheLock->tryAcquire();
00098 }
|
|
||||||||||
|
Explicity releases the lock.
Definition at line 101 of file Guard.h.
00102 {
00103 mLockStatus = false;
00104 return mTheLock->release();
00105 }
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002