Logo ROOT  
Reference Guide
ROOT::TRWMutexImp< MutexT, RecurseCountsT > Class Template Reference

template<typename MutexT, typename RecurseCountsT = ROOT::Internal::RecurseCounts>
class ROOT::TRWMutexImp< MutexT, RecurseCountsT >

Definition at line 28 of file TRWMutexImp.h.

Public Member Functions

void Apply (std::unique_ptr< StateDelta > &&delta) override
 Apply the mutex state delta. More...
 
TVirtualRWMutexFactory (Bool_t=kFALSE) override
 Create mutex and return pointer to it. More...
 
std::unique_ptr< StateGetStateBefore () override
 Get the mutex state before the current lock was taken. More...
 
Hint_t * ReadLock () override
 Take the Read Lock of the mutex. More...
 
void ReadUnLock (Hint_t *) override
 Release the read lock of the mutex. More...
 
std::unique_ptr< StateDeltaRewind (const State &earlierState) override
 Restore the mutex state to state. More...
 
Hint_t * WriteLock () override
 Take the Write Lock of the mutex. More...
 
void WriteUnLock (Hint_t *) override
 Release the read lock of the mutex. More...
 
- Public Member Functions inherited from ROOT::TVirtualRWMutex
Int_t CleanUp () override
 
Int_t Lock () override
 
Int_t TryLock () override
 
Int_t UnLock () override
 
- Public Member Functions inherited from TVirtualMutex
 TVirtualMutex (Bool_t=kFALSE)
 
virtual ~TVirtualMutex ()
 
Int_t Acquire ()
 
Int_t Release ()
 

Private Attributes

ROOT::TReentrantRWLock< MutexT, RecurseCountsT > fMutexImp
 

#include </home/sftnight/build/workspace/root-makedoc-master/rootspi/rdoc/src/master/core/thread/src/TRWMutexImp.h>

Inheritance diagram for ROOT::TRWMutexImp< MutexT, RecurseCountsT >:
[legend]

Member Function Documentation

◆ Apply()

template<typename MutexT , typename RecurseCountsT >
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Apply ( std::unique_ptr< StateDelta > &&  delta)
overridevirtual

Apply the mutex state delta.

In pseudo-code: current_lock_count += delta;

Implements ROOT::TVirtualRWMutex.

Definition at line 101 of file TRWMutexImp.cxx.

◆ Factory()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Factory ( Bool_t  = kFALSE)
overridevirtual

Create mutex and return pointer to it.

Implements ROOT::TVirtualRWMutex.

Definition at line 73 of file TRWMutexImp.cxx.

◆ GetStateBefore()

template<typename MutexT , typename RecurseCountsT >
std::unique_ptr< TVirtualRWMutex::State > ROOT::TRWMutexImp< MutexT, RecurseCountsT >::GetStateBefore
overridevirtual

Get the mutex state before the current lock was taken.

This function must only be called while the mutex is locked.

Implements ROOT::TVirtualRWMutex.

Definition at line 112 of file TRWMutexImp.cxx.

◆ ReadLock()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex::Hint_t * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::ReadLock
overridevirtual

Take the Read Lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 37 of file TRWMutexImp.cxx.

◆ ReadUnLock()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::ReadUnLock ( Hint_t *  )
overridevirtual

Release the read lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 55 of file TRWMutexImp.cxx.

◆ Rewind()

template<typename MutexT , typename RecurseCountsT >
std::unique_ptr< TVirtualRWMutex::StateDelta > ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Rewind ( const State earlierState)
overridevirtual

Restore the mutex state to state.

This function must only be called while the mutex is locked. Returns the DeltaState between now and the resulting state (i.e. lock count before state), such that the difference can be re-applied using Apply(). In pseudo-code: delta = current_lock_count - earlierState.lock_count; current_lock_count -= delta; return delta;

Implements ROOT::TVirtualRWMutex.

Definition at line 90 of file TRWMutexImp.cxx.

◆ WriteLock()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex::Hint_t * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::WriteLock
overridevirtual

Take the Write Lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 46 of file TRWMutexImp.cxx.

◆ WriteUnLock()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::WriteUnLock ( Hint_t *  )
overridevirtual

Release the read lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 64 of file TRWMutexImp.cxx.

Member Data Documentation

◆ fMutexImp

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
ROOT::TReentrantRWLock<MutexT, RecurseCountsT> ROOT::TRWMutexImp< MutexT, RecurseCountsT >::fMutexImp
private

Definition at line 35 of file TRWMutexImp.h.


The documentation for this class was generated from the following files: