Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BdbCondReadWriteLock Class Reference
[BdbCondRemote]

#include <BdbCondReadWriteLock.hh>

List of all members.

Public Methods

 BdbCondReadWriteLock ()
virtual ~BdbCondReadWriteLock ()
bool beginRead ()
bool endRead ()
bool downgrade ()
bool beginWrite ()
bool endWrite ()

Protected Methods

 BdbCondReadWriteLock (const BdbCondReadWriteLock &theLock)
BdbCondReadWriteLock & operator= (const BdbCondReadWriteLock &theLock)

Private Attributes

pthread_mutex_t _myMutex
pthread_cond_t _myCondVar
int _numReaders
int _numWriters
int _numPendings


Constructor & Destructor Documentation

BdbCondReadWriteLock::BdbCondReadWriteLock  
 

Definition at line 62 of file BdbCondReadWriteLock.cc.

References _myCondVar, and _myMutex.

BdbCondReadWriteLock::~BdbCondReadWriteLock   [virtual]
 

Definition at line 80 of file BdbCondReadWriteLock.cc.

References _myCondVar, and _myMutex.

BdbCondReadWriteLock::BdbCondReadWriteLock const BdbCondReadWriteLock &    theLock [protected]
 

Definition at line 71 of file BdbCondReadWriteLock.cc.


Member Function Documentation

bool BdbCondReadWriteLock::beginRead  
 

The following operations may block the calling thread if the corresponding lock is not available:

beginRead() beginWrite()

The following operations do not block the calling thread but may unblock other threads waiting for the resource.

endRead() downgrade() endWrite()

The "false" return status of these operations means that something has failed during their execution. This means that the results of operation are unreliable.

Definition at line 105 of file BdbCondReadWriteLock.cc.

References _myCondVar, _myMutex, _numPendings, _numReaders, and _numWriters.

Referenced by BdbCondROIDServerCache::beginReadLock(), BdbCondRInfoLoader::cacheLockBeginRead(), BdbCondRInfoImpl::cacheLockBeginRead(), BdbCondRInfoImpl::containerLockBeginRead(), and BdbCondROIDServerImpl::statsLockBeginRead().

bool BdbCondReadWriteLock::beginWrite  
 

Definition at line 168 of file BdbCondReadWriteLock.cc.

References _myCondVar, _myMutex, _numPendings, _numReaders, and _numWriters.

Referenced by BdbCondROIDServerCache::beginWriteLock(), BdbCondRInfoImpl::cacheLockUpgrade(), BdbCondRInfoLoader::containerLockBeginWrite(), BdbCondRInfoImpl::containerLockBeginWrite(), and BdbCondROIDServerImpl::statsLockBeginWrite().

bool BdbCondReadWriteLock::downgrade  
 

Definition at line 146 of file BdbCondReadWriteLock.cc.

References _myCondVar, _myMutex, _numPendings, _numReaders, and _numWriters.

Referenced by BdbCondRInfoImpl::cacheLockDowngrade().

bool BdbCondReadWriteLock::endRead  
 

Definition at line 125 of file BdbCondReadWriteLock.cc.

References _myCondVar, _myMutex, _numPendings, and _numReaders.

Referenced by BdbCondRInfoLoader::cacheLockEndRead(), BdbCondRInfoImpl::cacheLockEndRead(), BdbCondRInfoImpl::cacheLockUpgrade(), BdbCondRInfoImpl::containerLockEndRead(), BdbCondROIDServerCache::endReadLock(), and BdbCondROIDServerImpl::statsLockEndRead().

bool BdbCondReadWriteLock::endWrite  
 

Definition at line 188 of file BdbCondReadWriteLock.cc.

References _myCondVar, _myMutex, _numPendings, and _numWriters.

Referenced by BdbCondRInfoLoader::containerLockEndWrite(), BdbCondRInfoImpl::containerLockEndWrite(), BdbCondROIDServerCache::endWriteLock(), and BdbCondROIDServerImpl::statsLockEndWrite().

BdbCondReadWriteLock & BdbCondReadWriteLock::operator= const BdbCondReadWriteLock &    theLock [protected]
 

Definition at line 91 of file BdbCondReadWriteLock.cc.


Member Data Documentation

pthread_cond_t BdbCondReadWriteLock::_myCondVar [private]
 

Definition at line 104 of file BdbCondReadWriteLock.hh.

Referenced by BdbCondReadWriteLock(), beginRead(), beginWrite(), downgrade(), endRead(), endWrite(), and ~BdbCondReadWriteLock().

pthread_mutex_t BdbCondReadWriteLock::_myMutex [private]
 

Definition at line 103 of file BdbCondReadWriteLock.hh.

Referenced by BdbCondReadWriteLock(), beginRead(), beginWrite(), downgrade(), endRead(), endWrite(), and ~BdbCondReadWriteLock().

int BdbCondReadWriteLock::_numPendings [private]
 

Definition at line 110 of file BdbCondReadWriteLock.hh.

Referenced by beginRead(), beginWrite(), downgrade(), endRead(), and endWrite().

int BdbCondReadWriteLock::_numReaders [private]
 

Definition at line 108 of file BdbCondReadWriteLock.hh.

Referenced by beginRead(), beginWrite(), downgrade(), and endRead().

int BdbCondReadWriteLock::_numWriters [private]
 

Definition at line 109 of file BdbCondReadWriteLock.hh.

Referenced by beginRead(), beginWrite(), downgrade(), and endWrite().


The documentation for this class was generated from the following files:

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002