#include <OW_RWLocker.hpp>
Collaboration diagram for OW_NAMESPACE::RWLocker:
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 49 of file OW_RWLocker.hpp.
|
Definition at line 48 of file OW_RWLocker.cpp. |
|
Definition at line 59 of file OW_RWLocker.cpp. |
|
Definition at line 188 of file OW_RWLocker.cpp. References m_num_waiting_readers, m_num_waiting_writers, m_readers_next, m_waiting_readers, m_waiting_writers, OW_NAMESPACE::Condition::notifyAll(), and OW_NAMESPACE::Condition::notifyOne(). Referenced by releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 73 of file OW_RWLocker.cpp. References OW_NAMESPACE::ThreadImpl::currentThread(), m_guard, m_num_waiting_readers, m_state, m_waiting_readers, m_writer, OW_THROW, OW_NAMESPACE::ThreadImpl::sameThreads(), and OW_NAMESPACE::Condition::timedWait(). |
|
Definition at line 109 of file OW_RWLocker.cpp. References OW_NAMESPACE::ThreadImpl::currentThread(), i, m_guard, m_readers, m_state, OW_THROW, OW_NAMESPACE::ThreadImpl::sameThreads(), and OW_NAMESPACE::Array< T >::size(). |
|
Definition at line 144 of file OW_RWLocker.cpp. References OW_NAMESPACE::ThreadImpl::currentThread(), doWakeups(), i, m_guard, m_readers, m_state, OW_THROW, OW_NAMESPACE::Array< T >::remove(), OW_NAMESPACE::ThreadImpl::sameThreads(), and OW_NAMESPACE::Array< T >::size(). |
|
Definition at line 171 of file OW_RWLocker.cpp. References doWakeups(), m_guard, m_state, and OW_THROW. |
|
Definition at line 67 of file OW_RWLocker.hpp. Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 64 of file OW_RWLocker.hpp. Referenced by doWakeups(), and getReadLock(). |
|
Definition at line 63 of file OW_RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 77 of file OW_RWLocker.hpp. Referenced by getWriteLock(), and releaseReadLock(). |
|
Definition at line 65 of file OW_RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 70 of file OW_RWLocker.hpp. Referenced by getReadLock(), getWriteLock(), releaseReadLock(), and releaseWriteLock(). |
|
Definition at line 61 of file OW_RWLocker.hpp. Referenced by doWakeups(), and getReadLock(). |
|
Definition at line 60 of file OW_RWLocker.hpp. Referenced by doWakeups(). |
|
Definition at line 83 of file OW_RWLocker.hpp. Referenced by getReadLock(). |