|
ROOT 6.18/05 Reference Guide |
Definition at line 153 of file TReentrantRWLock.hxx.
Public Types | |
| using | State = TVirtualRWMutex::State |
| using | StateDelta = TVirtualRWMutex::StateDelta |
Public Member Functions | |
| TReentrantRWLock () | |
| Regular constructor. More... | |
| void | Apply (std::unique_ptr< StateDelta > &&delta) |
| Re-apply a delta. More... | |
| std::unique_ptr< State > | GetStateBefore () |
| Get the lock state before the most recent write lock was taken. More... | |
| TVirtualRWMutex::Hint_t * | ReadLock () |
| Acquire the lock in read mode. More... | |
| void | ReadUnLock (TVirtualRWMutex::Hint_t *) |
| Release the lock in read mode. More... | |
| std::unique_ptr< StateDelta > | Rewind (const State &earlierState) |
| Rewind to an earlier mutex state, returning the delta. More... | |
| TVirtualRWMutex::Hint_t * | WriteLock () |
| Acquire the lock in write mode. More... | |
| void | WriteUnLock (TVirtualRWMutex::Hint_t *) |
| Release the lock in write mode. More... | |
Private Member Functions | |
| void | AssertReadCountLocIsFromCurrentThread (const size_t *presumedLocalReadersCount) |
| Assert that presumedLocalReadersCount really matches the local read count. More... | |
Private Attributes | |
| std::condition_variable_any | fCond |
| ! RWlock internal condition variable More... | |
| MutexT | fMutex |
| ! RWlock internal mutex More... | |
| std::atomic< int > | fReaderReservation |
| ! A reader wants access More... | |
| std::atomic< int > | fReaders |
| ! Number of readers More... | |
| RecurseCountsT | fRecurseCounts |
| ! Trackers for re-entry in the lock by the same thread. More... | |
| std::atomic< bool > | fWriter |
| ! Is there a writer? More... | |
| std::atomic< int > | fWriterReservation |
| ! A writer wants access More... | |
#include <ROOT/TReentrantRWLock.hxx>
| using ROOT::TReentrantRWLock< MutexT, RecurseCountsT >::State = TVirtualRWMutex::State |
Definition at line 173 of file TReentrantRWLock.hxx.
| using ROOT::TReentrantRWLock< MutexT, RecurseCountsT >::StateDelta = TVirtualRWMutex::StateDelta |
Definition at line 174 of file TReentrantRWLock.hxx.
|
inline |
Regular constructor.
Definition at line 178 of file TReentrantRWLock.hxx.
| void TReentrantRWLock::Apply | ( | std::unique_ptr< StateDelta > && | delta | ) |
Re-apply a delta.
Definition at line 338 of file TReentrantRWLock.cxx.
|
private |
Assert that presumedLocalReadersCount really matches the local read count.
Print an error message if not.
Definition at line 374 of file TReentrantRWLock.cxx.
| std::unique_ptr< TVirtualRWMutex::State > TReentrantRWLock::GetStateBefore |
Get the lock state before the most recent write lock was taken.
Definition at line 252 of file TReentrantRWLock.cxx.
| TVirtualRWMutex::Hint_t * TReentrantRWLock::ReadLock |
Acquire the lock in read mode.
Definition at line 62 of file TReentrantRWLock.cxx.
| void TReentrantRWLock::ReadUnLock | ( | TVirtualRWMutex::Hint_t * | hint | ) |
Release the lock in read mode.
Definition at line 129 of file TReentrantRWLock.cxx.
| std::unique_ptr< TVirtualRWMutex::StateDelta > TReentrantRWLock::Rewind | ( | const State & | earlierState | ) |
Rewind to an earlier mutex state, returning the delta.
Definition at line 292 of file TReentrantRWLock.cxx.
| TVirtualRWMutex::Hint_t * TReentrantRWLock::WriteLock |
Acquire the lock in write mode.
Definition at line 161 of file TReentrantRWLock.cxx.
| void TReentrantRWLock::WriteUnLock | ( | TVirtualRWMutex::Hint_t * | ) |
Release the lock in write mode.
Definition at line 209 of file TReentrantRWLock.cxx.
|
private |
! RWlock internal condition variable
Definition at line 161 of file TReentrantRWLock.hxx.
|
private |
! RWlock internal mutex
Definition at line 160 of file TReentrantRWLock.hxx.
|
private |
! A reader wants access
Definition at line 157 of file TReentrantRWLock.hxx.
|
private |
! Number of readers
Definition at line 156 of file TReentrantRWLock.hxx.
|
private |
! Trackers for re-entry in the lock by the same thread.
Definition at line 163 of file TReentrantRWLock.hxx.
|
private |
! Is there a writer?
Definition at line 159 of file TReentrantRWLock.hxx.
|
private |
! A writer wants access
Definition at line 158 of file TReentrantRWLock.hxx.