Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TMutex Class Reference

Definition at line 30 of file TMutex.h.

Public Member Functions

 TMutex (Bool_t recursive=kFALSE)
 Create a mutex lock.
 
virtual ~TMutex ()
 
Int_t CleanUp ()
 Clean up of mutex.
 
TVirtualMutexFactory (Bool_t recursive=kFALSE)
 Create mutex and return pointer to it.
 
Int_t Lock ()
 Lock the mutex.
 
void lock ()
 
Int_t TryLock ()
 Try to lock mutex.
 
Int_t UnLock ()
 Unlock the mutex.
 
void unlock ()
 
- Public Member Functions inherited from TVirtualMutex
 TVirtualMutex (Bool_t=kFALSE)
 
virtual ~TVirtualMutex ()
 
Int_t Acquire ()
 
Int_t Release ()
 

Private Member Functions

 TMutex (const TMutex &)=delete
 
TMutexoperator= (const TMutex &)=delete
 

Private Attributes

TMutexImpfMutexImp
 

Friends

class TCondition
 
class TThread
 

#include <TMutex.h>

Inheritance diagram for TMutex:
[legend]

Constructor & Destructor Documentation

◆ TMutex() [1/2]

TMutex::TMutex ( const TMutex )
privatedelete

◆ TMutex() [2/2]

TMutex::TMutex ( Bool_t  recursive = kFALSE)

Create a mutex lock.

The actual mutex implementation will be provided via the TThreadFactory.

Definition at line 34 of file TMutex.cxx.

◆ ~TMutex()

virtual TMutex::~TMutex ( )
inlinevirtual

Definition at line 43 of file TMutex.h.

Member Function Documentation

◆ CleanUp()

Int_t TMutex::CleanUp ( )
virtual

Clean up of mutex.

Implements TVirtualMutex.

Definition at line 76 of file TMutex.cxx.

◆ Factory()

TVirtualMutex * TMutex::Factory ( Bool_t  recursive = kFALSE)
virtual

Create mutex and return pointer to it.

Calling function must care about proper deletion. The function is intended to be used in connection with the R__LOCKGUARD2 macro for local thread protection. Since "new" is used the TStorage class has to be protected by gGlobalMutex.

Implements TVirtualMutex.

Definition at line 87 of file TMutex.cxx.

◆ Lock()

Int_t TMutex::Lock ( )
virtual

Lock the mutex.

Returns 0 when no error, EDEADLK when mutex was already locked by this thread and this mutex is not reentrant.

Implements TVirtualMutex.

Definition at line 46 of file TMutex.cxx.

◆ lock()

void TMutex::lock ( )
inline

Definition at line 51 of file TMutex.h.

◆ operator=()

TMutex & TMutex::operator= ( const TMutex )
privatedelete

◆ TryLock()

Int_t TMutex::TryLock ( )
virtual

Try to lock mutex.

Returns 0 when no error, EDEADLK when mutex was already locked by this thread and this mutex is not reentrant.

Implements TVirtualMutex.

Definition at line 57 of file TMutex.cxx.

◆ UnLock()

Int_t TMutex::UnLock ( )
virtual

Unlock the mutex.

Returns 0 when no error, EPERM when mutex was already unlocked by this thread.

Implements TVirtualMutex.

Definition at line 68 of file TMutex.cxx.

◆ unlock()

void TMutex::unlock ( )
inline

Definition at line 52 of file TMutex.h.

Friends And Related Symbol Documentation

◆ TCondition

friend class TCondition
friend

Definition at line 32 of file TMutex.h.

◆ TThread

friend class TThread
friend

Definition at line 33 of file TMutex.h.

Member Data Documentation

◆ fMutexImp

TMutexImp* TMutex::fMutexImp
private

Definition at line 36 of file TMutex.h.

Libraries for TMutex:

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