blocxx
Classes | Public Member Functions | Private Member Functions | Private Attributes

BLOCXX_NAMESPACE::RWLocker Class Reference

#include <RWLocker.hpp>

List of all members.

Classes

struct  ThreadComparer

Public Member Functions

 RWLocker ()
 ~RWLocker ()
void getReadLock (const Timeout &timeout)
void getReadLock (UInt32 sTimeout, UInt32 usTimeout=0) BLOCXX_DEPRECATED
void getWriteLock (const Timeout &timeout)
void getWriteLock (UInt32 sTimeout, UInt32 usTimeout=0) BLOCXX_DEPRECATED
void releaseReadLock ()
void releaseWriteLock ()

Private Member Functions

 RWLocker (const RWLocker &)
RWLockeroperator= (const RWLocker &)

Private Attributes

GenericRWLockImpl< Thread_t,
ThreadComparer
m_impl

Detailed Description

Definition at line 50 of file RWLocker.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::RWLocker::RWLocker ( )

Definition at line 58 of file RWLocker.cpp.

BLOCXX_NAMESPACE::RWLocker::~RWLocker ( )

Definition at line 62 of file RWLocker.cpp.

BLOCXX_NAMESPACE::RWLocker::RWLocker ( const RWLocker ) [private]

Member Function Documentation

void BLOCXX_NAMESPACE::RWLocker::getReadLock ( const Timeout timeout)
Exceptions:
TimeoutExceptionif the lock isn't acquired within the timeout.

Definition at line 74 of file RWLocker.cpp.

References BLOCXX_NAMESPACE::GenericRWLockImpl< IdT, CompareT >::acquireReadLock(), BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.

Referenced by getReadLock(), and BLOCXX_NAMESPACE::ReadLock::ReadLock().

void BLOCXX_NAMESPACE::RWLocker::getReadLock ( UInt32  sTimeout,
UInt32  usTimeout = 0 
)

Definition at line 67 of file RWLocker.cpp.

References getReadLock(), and BLOCXX_NAMESPACE::Timeout::relative().

void BLOCXX_NAMESPACE::RWLocker::getWriteLock ( UInt32  sTimeout,
UInt32  usTimeout = 0 
)

Definition at line 97 of file RWLocker.cpp.

References getWriteLock(), and BLOCXX_NAMESPACE::Timeout::relative().

void BLOCXX_NAMESPACE::RWLocker::getWriteLock ( const Timeout timeout)
Exceptions:
TimeoutExceptionif the lock isn't acquired within the timeout.
DeadlockExceptionif this call would upgrade a read lock to a write lock and another thread is already waiting to upgrade. If this happens, the calling thread must release it's read lock in order for forward progress to be made.

Definition at line 103 of file RWLocker.cpp.

References BLOCXX_NAMESPACE::GenericRWLockImpl< IdT, CompareT >::acquireWriteLock(), BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.

Referenced by getWriteLock(), and BLOCXX_NAMESPACE::WriteLock::WriteLock().

RWLocker& BLOCXX_NAMESPACE::RWLocker::operator= ( const RWLocker ) [private]
void BLOCXX_NAMESPACE::RWLocker::releaseReadLock ( )
Exceptions:
RWLockerExceptionif a read lock hasn't been acquired.

Definition at line 82 of file RWLocker.cpp.

References BLOCXX_THROW_SUBEX, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), m_impl, and BLOCXX_NAMESPACE::GenericRWLockImpl< IdT, CompareT >::releaseReadLock().

void BLOCXX_NAMESPACE::RWLocker::releaseWriteLock ( )
Exceptions:
RWLockerExceptionif a write lock hasn't been acquired.

Definition at line 111 of file RWLocker.cpp.

References BLOCXX_THROW_SUBEX, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), m_impl, and BLOCXX_NAMESPACE::GenericRWLockImpl< IdT, CompareT >::releaseWriteLock().


Member Data Documentation

Definition at line 90 of file RWLocker.hpp.

Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock().


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