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 57 of file RWLocker.cpp.
Referenced by operator=(), and RWLocker().
BLOCXX_NAMESPACE::RWLocker::~RWLocker | ( | ) |
Definition at line 61 of file RWLocker.cpp.
|
private |
References RWLocker().
void BLOCXX_NAMESPACE::RWLocker::getReadLock | ( | const Timeout & | timeout | ) |
TimeoutException | if the lock isn't acquired within the timeout. |
Definition at line 73 of file RWLocker.cpp.
References BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.
Referenced by getReadLock().
void BLOCXX_NAMESPACE::RWLocker::getReadLock | ( | UInt32 | sTimeout, |
UInt32 | usTimeout = 0 ) |
Definition at line 66 of file RWLocker.cpp.
References getReadLock(), 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 102 of file RWLocker.cpp.
References BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.
Referenced by getWriteLock().
void BLOCXX_NAMESPACE::RWLocker::getWriteLock | ( | UInt32 | sTimeout, |
UInt32 | usTimeout = 0 ) |
Definition at line 96 of file RWLocker.cpp.
References getWriteLock(), and BLOCXX_NAMESPACE::Timeout::relative().
References RWLocker().
void BLOCXX_NAMESPACE::RWLocker::releaseReadLock | ( | ) |
RWLockerException | if a read lock hasn't been acquired. |
Definition at line 81 of file RWLocker.cpp.
References BLOCXX_THROW_SUBEX, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.
void BLOCXX_NAMESPACE::RWLocker::releaseWriteLock | ( | ) |
RWLockerException | if a write lock hasn't been acquired. |
Definition at line 110 of file RWLocker.cpp.
References BLOCXX_THROW_SUBEX, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), and m_impl.
|
private |
Definition at line 90 of file RWLocker.hpp.
Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock().