#include <ReadersWritersLock.H>
Public Member Functions | |
| ReadersWritersLock (bool favorWriters) throw () | |
| ~ReadersWritersLock () throw () | |
| void | acquireRead () throw () |
| void | releaseRead () throw () |
| void | acquireWrite () throw () |
| void | releaseWrite () throw () |
| bool | tryRead () throw () |
| bool | tryWrite () throw () |
| bool | release () throw () |
Private Attributes | |
| Basics::mutex | mu |
| int | readers |
| int | writers |
| RWLock_Queue_Item * | q_head |
| RWLock_Queue_Item * | q_tail |
| time_t | acquire_time |
| pthread_t | acquire_thread |
|
|
Definition at line 143 of file ReadersWritersLock.C. |
|
|
Definition at line 94 of file ReadersWritersLock.C. References acquireWrite(), Basics::mutex::lock(), mu, q_head, releaseWrite(), and Basics::mutex::unlock(). |
|
|
|
|
Definition at line 487 of file ReadersWritersLock.C. References acquire_thread, acquire_time, Basics::cond::broadcast(), Basics::mutex::lock(), mu, RWLock_Queue_Item::my_turn, q_head, readers, RWLOCK_RELEASE_DONE, RWLOCK_RELEASE_START, Basics::mutex::unlock(), RWLock_Queue_Item::writer, and writers. Referenced by do_hardlink(), Replicate(), ReplicateAttribs(), and ReplicationCleanup(). |
|
|
|
|
Definition at line 425 of file ReadersWritersLock.C. References acquire_thread, acquire_time, Basics::mutex::lock(), mu, q_head, readers, RWLOCK_ACQUIRE_READ_DONE, RWLOCK_ACQUIRE_READ_START, Basics::mutex::unlock(), and writers. |
|
|
Definition at line 458 of file ReadersWritersLock.C. References acquire_thread, acquire_time, Basics::mutex::lock(), mu, q_head, readers, RWLOCK_ACQUIRE_WRITE_DONE, RWLOCK_ACQUIRE_WRITE_START, Basics::mutex::unlock(), and writers. Referenced by GardenerThread(). |
|
|
Definition at line 85 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseRead(), releaseWrite(), tryRead(), and tryWrite(). |
|
|
Definition at line 84 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseRead(), releaseWrite(), tryRead(), and tryWrite(). |
|
|
Definition at line 70 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseRead(), releaseWrite(), tryRead(), tryWrite(), and ~ReadersWritersLock(). |
|
|
Definition at line 77 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseRead(), releaseWrite(), tryRead(), tryWrite(), and ~ReadersWritersLock(). |
|
|
Definition at line 77 of file ReadersWritersLock.H. Referenced by acquireRead(), and acquireWrite(). |
|
|
Definition at line 74 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseRead(), tryRead(), and tryWrite(). |
|
|
Definition at line 75 of file ReadersWritersLock.H. Referenced by acquireRead(), acquireWrite(), release(), releaseWrite(), tryRead(), and tryWrite(). |
1.4.2