Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TVirtualMutex.h File Reference
#include "Rtypes.h"
Include dependency graph for TVirtualMutex.h:
This graph shows which files directly or indirectly include this file:

Classes

class  TLockGuard
 
class  TVirtualMutex
 This class implements a mutex interface. More...
 

Macros

#define R__LOCKGUARD(mutex)   TLockGuard _R__UNIQUE_(R__guard)(mutex)
 
#define R__LOCKGUARD2(mutex)
 
#define R__LOCKGUARD_IMT(mutex)   R__LOCKGUARD(ROOT::Internal::IsParBranchProcessingEnabled() ? mutex : nullptr)
 
#define R__LOCKGUARD_IMT2(mutex)
 
#define R__LOCKGUARD_NAMED(name, mutex)   TLockGuard _NAME2_(R__guard,name)(mutex)
 
#define R__LOCKGUARD_UNLOCK(name)   _NAME2_(R__guard,name).UnLock()
 

Variables

R__EXTERN TVirtualMutexgGlobalMutex
 

Macro Definition Documentation

◆ R__LOCKGUARD

#define R__LOCKGUARD (   mutex)    TLockGuard _R__UNIQUE_(R__guard)(mutex)

Definition at line 95 of file TVirtualMutex.h.

◆ R__LOCKGUARD2

#define R__LOCKGUARD2 (   mutex)
Value:
if (gGlobalMutex && !mutex) { \
if (!mutex) \
mutex = gGlobalMutex->Factory(kTRUE); \
} \
R__LOCKGUARD(mutex)
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
R__EXTERN TVirtualMutex * gGlobalMutex
virtual Int_t UnLock()=0
virtual Int_t Lock()=0
virtual TVirtualMutex * Factory(Bool_t=kFALSE)=0

Definition at line 96 of file TVirtualMutex.h.

◆ R__LOCKGUARD_IMT

#define R__LOCKGUARD_IMT (   mutex)    R__LOCKGUARD(ROOT::Internal::IsParBranchProcessingEnabled() ? mutex : nullptr)

Definition at line 108 of file TVirtualMutex.h.

◆ R__LOCKGUARD_IMT2

#define R__LOCKGUARD_IMT2 (   mutex)
Value:
if (!mutex) \
mutex = gGlobalMutex->Factory(kTRUE); \
} \
R__LOCKGUARD_IMT(mutex)
Bool_t IsParBranchProcessingEnabled()
Returns true if parallel branch processing is enabled.
Definition TROOT.cxx:445

Definition at line 109 of file TVirtualMutex.h.

◆ R__LOCKGUARD_NAMED

#define R__LOCKGUARD_NAMED (   name,
  mutex 
)    TLockGuard _NAME2_(R__guard,name)(mutex)

Definition at line 104 of file TVirtualMutex.h.

◆ R__LOCKGUARD_UNLOCK

#define R__LOCKGUARD_UNLOCK (   name)    _NAME2_(R__guard,name).UnLock()

Definition at line 105 of file TVirtualMutex.h.

Variable Documentation

◆ gGlobalMutex

R__EXTERN TVirtualMutex* gGlobalMutex

Definition at line 30 of file TVirtualMutex.h.