Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

indri::thread::ReadersWritersLock Class Reference

#include <ReadersWritersLock.hpp>

List of all members.

Public Member Functions

 ReadersWritersLock ()
void lockRead ()
void lockWrite ()
void unlockWrite ()
void unlockRead ()
void yieldWrite ()
void yieldRead ()

Private Member Functions

void _enqueue (wait_queue_entry &entry)
void _wakeOthers ()

Private Attributes

Mutex _mutex
wait_queue_entry_head
wait_queue_entry_tail
int _readers
int _writers


Constructor & Destructor Documentation

indri::thread::ReadersWritersLock::ReadersWritersLock  )  [inline]
 


Member Function Documentation

void indri::thread::ReadersWritersLock::_enqueue wait_queue_entry entry  )  [inline, private]
 

void indri::thread::ReadersWritersLock::_wakeOthers  )  [inline, private]
 

void indri::thread::ReadersWritersLock::lockRead  )  [inline]
 

void indri::thread::ReadersWritersLock::lockWrite  )  [inline]
 

void indri::thread::ReadersWritersLock::unlockRead  )  [inline]
 

void indri::thread::ReadersWritersLock::unlockWrite  )  [inline]
 

void indri::thread::ReadersWritersLock::yieldRead  )  [inline]
 

void indri::thread::ReadersWritersLock::yieldWrite  )  [inline]
 


Member Data Documentation

wait_queue_entry* indri::thread::ReadersWritersLock::_head [private]
 

Mutex indri::thread::ReadersWritersLock::_mutex [private]
 

int indri::thread::ReadersWritersLock::_readers [private]
 

wait_queue_entry* indri::thread::ReadersWritersLock::_tail [private]
 

int indri::thread::ReadersWritersLock::_writers [private]
 


The documentation for this class was generated from the following file:
Generated on Tue Jun 15 11:03:03 2010 for Lemur by doxygen 1.3.4