Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::TRWMutexImp< MutexT, RecurseCountsT > Class Template Reference

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

Definition at line 22 of file TRWMutexImp.h.

Public Member Functions

void Apply (std::unique_ptr< StateDelta > &&delta) override
 Apply the mutex state delta.
 
TVirtualRWMutexFactory (Bool_t=kFALSE) override
 Create mutex and return pointer to it.
 
std::unique_ptr< StateGetStateBefore () override
 Get the mutex state before the current lock was taken.
 
Hint_t * ReadLock () override
 Take the Read Lock of the mutex.
 
void ReadUnLock (Hint_t *) override
 Release the read lock of the mutex.
 
std::unique_ptr< StateDeltaRewind (const State &earlierState) override
 Restore the mutex state to state.
 
Hint_t * WriteLock () override
 Take the Write Lock of the mutex.
 
void WriteUnLock (Hint_t *) override
 Release the read lock of the mutex.
 
- 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-v624/rootspi/rdoc/src/v6-24-00-patches/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 95 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 67 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 106 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 31 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 49 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 84 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 40 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 58 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 23 of file TRWMutexImp.h.

  • core/thread/src/TRWMutexImp.h
  • core/thread/src/TRWMutexImp.cxx