Logo ROOT   6.12/07
Reference Guide
List of all members | Public Member Functions | Private Attributes | List of all members
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. 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 </mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-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.

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

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