#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(). |