#include <RWGuard.h>
Collaboration diagram for vpr::ReadGuard:

Public Methods | |
| ReadGuard (RWMutex &lock, int block=1) | |
| Acquires the lock implicitly. More... | |
| ~ReadGuard () | |
| 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 56 of file RWGuard.h.
|
||||||||||||
|
Acquires the lock implicitly. If block = 1 then use a blocking acquire. Definition at line 63 of file RWGuard.h. References acquire, vpr::RWMutex, vpr::ReturnStatus::success, and tryAcquire.
00063 : mTheLock(&lock)
00064 {
00065 mLockStatus = block ? acquire().success() : tryAcquire().success();
00066 }
|
|
|
Releases the lock.
Definition at line 69 of file RWGuard.h.
00070 {
00071 if ( mLockStatus )
00072 {
00073 mTheLock->release();
00074 }
00075 }
|
|
|
Definition at line 81 of file RWGuard.h.
00082 {
00083 return mLockStatus;
00084 }
|
|
|
Acquires the lock.
Definition at line 87 of file RWGuard.h. Referenced by ReadGuard.
00088 {
00089 return mTheLock->acquireRead();
00090 }
|
|
|
Tries to acquire lock.
Definition at line 93 of file RWGuard.h. Referenced by ReadGuard.
00094 {
00095 return mTheLock->tryAcquireRead();
00096 }
|
|
|
Explicity releases the lock.
Definition at line 99 of file RWGuard.h.
00100 {
00101 mLockStatus = false;
00102 return mTheLock->release();
00103 }
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002