blocxx
|
#include <RWLocker.hpp>
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 &) | |
RWLocker & | operator= (const RWLocker &) |
Private Attributes | |
GenericRWLockImpl< Thread_t, ThreadComparer > | m_impl |
Definition at line 50 of file RWLocker.hpp.
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] |
void BLOCXX_NAMESPACE::RWLocker::getReadLock | ( | const Timeout & | timeout | ) |
TimeoutException | if 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 | ) |
TimeoutException | if the lock isn't acquired within the timeout. |
DeadlockException | if 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().
void BLOCXX_NAMESPACE::RWLocker::releaseReadLock | ( | ) |
RWLockerException | if 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 | ( | ) |
RWLockerException | if 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().
GenericRWLockImpl<Thread_t, ThreadComparer> BLOCXX_NAMESPACE::RWLocker::m_impl [private] |
Definition at line 90 of file RWLocker.hpp.
Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock().