Implements read/write lock symantics.
More...
#include <ReadWriteLock.hh>
|
| enum | lock_mode {
NONE = 0x0000
, READ = 0x0001
, WRITE = 0x0002
, NONE = 0x0000
,
READ = 0x0001
, WRITE = 0x0002
} |
| | Lock mode. More...
|
| enum | lock_mode {
NONE = 0x0000
, READ = 0x0001
, WRITE = 0x0002
, NONE = 0x0000
,
READ = 0x0001
, WRITE = 0x0002
} |
| | Lock mode. More...
|
| enum | lock_state {
STATE_NONE = 0x0000
, PENDING = 0x0001
, ACTIVE = 0x0002
, STATE_NONE = 0x0000
,
PENDING = 0x0001
, ACTIVE = 0x0002
} |
| | Lock state. More...
|
| enum | lock_state {
STATE_NONE = 0x0000
, PENDING = 0x0001
, ACTIVE = 0x0002
, STATE_NONE = 0x0000
,
PENDING = 0x0001
, ACTIVE = 0x0002
} |
| | Lock state. More...
|
| typedef enum LDASTools::AL::ReadWriteLock::lock_mode | mode_type |
| | Lock mode.
|
| typedef enum LDASTools::AL::ReadWriteLock::lock_mode | mode_type |
| | Lock mode.
|
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, const char *Filename, int Linenum) |
| | Constructor.
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, bool TryLock, const char *Filename, int Linenum) |
| | Constructor.
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, int Timeout, const char *Filename, int Linenum) |
| | Constructor.
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, const char *Filename, int Linenum) |
| | Constructor.
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, bool TryLock, const char *Filename, int Linenum) |
| | Constructor.
|
| | ReadWriteLock (baton_type Lock, mode_type Mode, int Timeout, const char *Filename, int Linenum) |
| | Constructor.
|
| virtual | ~ReadWriteLock () |
| | Destructor.
|
| virtual | ~ReadWriteLock () |
| | Destructor.
|
| void | Modify (mode_type Mode, const char *Filename, int Linenum) |
| | Modify the mode of lock being held on the resource.
|
| void | Modify (mode_type Mode, const char *Filename, int Linenum) |
| | Modify the mode of lock being held on the resource.
|
| void | Release (const char *Filename, int Linenum) |
| | Release the lock.
|
| void | Release (const char *Filename, int Linenum) |
| | Release the lock.
|
Implements read/write lock symantics.
This class provides proper garbage collection of system resource used to implement thread safe read/write locks.
void
threaded_func()
{
__FILE__, __LINE__ );
...
}
MutexLock::baton_type baton()
Obtain lock.
Definition ThreadPool.cc:56
Manager of the read/write lock resource.
Definition ReadWriteLock.hh:169
@ WRITE
< Read lock allows multiple concurrent reads.
Definition ReadWriteLock.hh:152
ReadWriteLock(baton_type Lock, mode_type Mode, const char *Filename, int Linenum)
Constructor.
Definition ReadWriteLock.cc:459
◆ mode_type [1/2]
◆ mode_type [2/2]
◆ lock_mode [1/2]
Lock mode.
| Enumerator |
|---|
| NONE | |
| READ | < Initial mode
|
| WRITE | < Read lock allows multiple concurrent reads.
|
| NONE | |
| READ | < Initial mode
|
| WRITE | < Read lock allows multiple concurrent reads.
|
◆ lock_mode [2/2]
Lock mode.
| Enumerator |
|---|
| NONE | |
| READ | < Initial mode
|
| WRITE | < Read lock allows multiple concurrent reads.
|
| NONE | |
| READ | < Initial mode
|
| WRITE | < Read lock allows multiple concurrent reads.
|
◆ lock_state [1/2]
Lock state.
| Enumerator |
|---|
| STATE_NONE | |
| PENDING | < Initial state
|
| ACTIVE | < Lock requested
|
| STATE_NONE | |
| PENDING | < Initial state
|
| ACTIVE | < Lock requested
|
◆ lock_state [2/2]
Lock state.
| Enumerator |
|---|
| STATE_NONE | |
| PENDING | < Initial state
|
| ACTIVE | < Lock requested
|
| STATE_NONE | |
| PENDING | < Initial state
|
| ACTIVE | < Lock requested
|
◆ ReadWriteLock() [1/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
@ READ
< Initial mode
Definition ReadWriteLock.hh:151
◆ ReadWriteLock() [2/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | TryLock | If true, then return immediately wether or not the lock was obtained. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ReadWriteLock() [3/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | Timeout | Time limit in seconds in which to acquire the lock. A value of zero (0) indicates that the method should wait until the lock is granted. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ReadWriteLock() [4/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ReadWriteLock() [5/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | TryLock | If true, then return immediately wether or not the lock was obtained. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ReadWriteLock() [6/6]
Constructor.
- Parameters
-
| [in] | Lock | Baton controlling access to the resource. |
| [in] | Mode | Any of the lock_modes. |
| [in] | Timeout | Time limit in seconds in which to acquire the lock. A value of zero (0) indicates that the method should wait until the lock is granted. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ~ReadWriteLock() [1/2]
◆ ~ReadWriteLock() [2/2]
◆ Baton() [1/2]
Create a baton that is appropriate for use with this class.
◆ Baton() [2/2]
Create a baton that is appropriate for use with this class.
◆ Interval() [1/2]
◆ Interval() [2/2]
◆ Modify() [1/2]
Modify the mode of lock being held on the resource.
- Parameters
-
| [in] | Mode | The new mode to be held on the resource. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ Modify() [2/2]
Modify the mode of lock being held on the resource.
- Parameters
-
| [in] | Mode | The new mode to be held on the resource. |
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ Release() [1/2]
Release the lock.
- Parameters
-
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ Release() [2/2]
Release the lock.
- Parameters
-
| [in] | File | The filename from where the call was made. |
| [in] | Line | The line number from where the call was made. |
◆ ThreadCancel() [1/2]
Handler for thead cancelation.
- Parameters
-
| [in] | VLock | The VLock is a pointer to a ReadWriteLock object that holds a lock. |
◆ ThreadCancel() [2/2]
Handler for thead cancelation.
- Parameters
-
| [in] | VLock | The VLock is a pointer to a ReadWriteLock object that holds a lock. |
◆ Timeout() [1/2]
◆ Timeout() [2/2]
◆ sync_baton
The documentation for this class was generated from the following files:
- /home/abuild/rpmbuild/BUILD/ldas-tools-al-2.6.7-build/ldas-tools-al-2.6.7/build/include/ldastoolsal/ReadWriteLock.hh
- /home/abuild/rpmbuild/BUILD/ldas-tools-al-2.6.7-build/ldas-tools-al-2.6.7/src/ReadWriteLock.hh
- /home/abuild/rpmbuild/BUILD/ldas-tools-al-2.6.7-build/ldas-tools-al-2.6.7/src/ReadWriteLock.cc