35void TRWSpinLock::ReadLock()
47 std::unique_lock<ROOT::TSpinMutex> lock(
fMutex);
66 std::lock_guard<ROOT::TSpinMutex> lock(
fMutex);
81 std::unique_lock<ROOT::TSpinMutex> lock(
fMutex);
105 std::lock_guard<ROOT::TSpinMutex> lock(
fMutex);
TRWSpinLockReadGuard(TRWSpinLock &lock)
TRWSpinLockWriteGuard(TRWSpinLock &lock)
void ReadLock()
Acquire the lock in read mode.
std::condition_variable_any fCond
! RWlock internal condition variable
std::atomic< int > fReaderReservation
! A reader wants access
std::atomic< bool > fWriter
! Is there a writer?
void ReadUnLock()
Release the lock in read mode.
ROOT::TSpinMutex fMutex
! RWlock internal mutex
void WriteLock()
Acquire the lock in write mode.
void WriteUnLock()
Release the lock in write mode.
std::atomic< int > fWriterReservation
! A writer wants access
std::atomic< int > fReaders
! Number of readers