Definition at line 22 of file TRWSpinLock.hxx.
Public Member Functions | |
TRWSpinLock () | |
Regular constructor. More... | |
void | ReadLock () |
Acquire the lock in read mode. More... | |
void | ReadUnLock () |
Release the lock in read mode. More... | |
void | WriteLock () |
Acquire the lock in write mode. More... | |
void | WriteUnLock () |
Release the lock in write mode. More... | |
Private Attributes | |
std::condition_variable_any | fCond |
! RWlock internal condition variable More... | |
ROOT::TSpinMutex | fMutex |
! RWlock internal mutex More... | |
std::atomic< int > | fReaderReservation |
! A reader wants access More... | |
std::atomic< int > | fReaders |
! Number of readers More... | |
std::atomic< bool > | fWriter |
! Is there a writer? More... | |
std::atomic< int > | fWriterReservation |
! A writer wants access More... | |
#include <ROOT/TRWSpinLock.hxx>
|
inline |
Regular constructor.
Definition at line 34 of file TRWSpinLock.hxx.
void TRWSpinLock::ReadLock | ( | ) |
Acquire the lock in read mode.
Definition at line 35 of file TRWSpinLock.cxx.
void TRWSpinLock::ReadUnLock | ( | ) |
Release the lock in read mode.
Definition at line 61 of file TRWSpinLock.cxx.
void TRWSpinLock::WriteLock | ( | ) |
Acquire the lock in write mode.
Definition at line 77 of file TRWSpinLock.cxx.
void TRWSpinLock::WriteUnLock | ( | ) |
Release the lock in write mode.
Definition at line 102 of file TRWSpinLock.cxx.
|
private |
! RWlock internal condition variable
Definition at line 29 of file TRWSpinLock.hxx.
|
private |
! RWlock internal mutex
Definition at line 28 of file TRWSpinLock.hxx.
|
private |
! A reader wants access
Definition at line 25 of file TRWSpinLock.hxx.
|
private |
! Number of readers
Definition at line 24 of file TRWSpinLock.hxx.
|
private |
! Is there a writer?
Definition at line 27 of file TRWSpinLock.hxx.
|
private |
! A writer wants access
Definition at line 26 of file TRWSpinLock.hxx.