#include <RWLocker.hpp>
Public Member Functions | |
RWLocker () | |
~RWLocker () | |
void | getReadLock (UInt32 sTimeout, UInt32 usTimeout=0) |
void | getWriteLock (UInt32 sTimeout, UInt32 usTimeout=0) |
void | releaseReadLock () |
void | releaseWriteLock () |
Private Member Functions | |
void | doWakeups () |
Private Attributes | |
Condition | m_waiting_writers |
Condition | m_waiting_readers |
int | m_num_waiting_writers |
int | m_num_waiting_readers |
int | m_readers_next |
NonRecursiveMutex | m_guard |
int | m_state |
Array< Thread_t > | m_readers |
Thread_t | m_writer |
Definition at line 51 of file RWLocker.hpp.
|
Definition at line 50 of file RWLocker.cpp. |
|
Definition at line 61 of file RWLocker.cpp. |
|
Definition at line 190 of file RWLocker.cpp. References m_num_waiting_readers, m_num_waiting_writers, m_readers_next, m_waiting_readers, m_waiting_writers, BLOCXX_NAMESPACE::Condition::notifyAll(), and BLOCXX_NAMESPACE::Condition::notifyOne(). Referenced by releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 75 of file RWLocker.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), m_guard, m_num_waiting_readers, m_state, m_waiting_readers, m_writer, BLOCXX_NAMESPACE::ThreadImpl::sameThreads(), and BLOCXX_NAMESPACE::Condition::timedWait(). |
|
Definition at line 111 of file RWLocker.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), i, m_guard, m_readers, m_state, BLOCXX_NAMESPACE::ThreadImpl::sameThreads(), and BLOCXX_NAMESPACE::Array< T >::size(). |
|
Definition at line 146 of file RWLocker.cpp. References BLOCXX_THROW, BLOCXX_NAMESPACE::ThreadImpl::currentThread(), doWakeups(), i, m_guard, m_readers, m_state, BLOCXX_NAMESPACE::Array< T >::remove(), BLOCXX_NAMESPACE::ThreadImpl::sameThreads(), and BLOCXX_NAMESPACE::Array< T >::size(). |
|
Definition at line 173 of file RWLocker.cpp. References BLOCXX_THROW, doWakeups(), m_guard, and m_state. |
|
Definition at line 69 of file RWLocker.hpp. Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 66 of file RWLocker.hpp. Referenced by doWakeups(), and getReadLock(). |
|
Definition at line 65 of file RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 79 of file RWLocker.hpp. Referenced by getWriteLock(), and releaseReadLock(). |
|
Definition at line 67 of file RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 72 of file RWLocker.hpp. Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 63 of file RWLocker.hpp. Referenced by doWakeups(), and getReadLock(). |
|
Definition at line 62 of file RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 85 of file RWLocker.hpp. Referenced by getReadLock(). |