ROOT
Version v6.32
master
v6.34
v6.30
v6.28
v6.26
v6.24
v6.22
v6.20
v6.18
v6.16
v6.14
v6.12
v6.10
v6.08
v6.06
Reference Guide
▼
ROOT
ROOT Reference Documentation
Tutorials
►
Functional Parts
►
Namespaces
►
All Classes
▼
Files
▼
File List
►
bindings
▼
core
▼
base
►
doc
►
inc
▼
src
►
Match.cxx
►
root-argparse.py
►
roota.cxx
►
String.cxx
►
Stringio.cxx
►
TApplication.cxx
TAtt3D.cxx
TAttAxis.cxx
TAttBBox.cxx
TAttBBox2D.cxx
TAttFill.cxx
TAttLine.cxx
TAttMarker.cxx
TAttPad.cxx
TAttText.cxx
►
TBase64.cxx
►
TBenchmark.cxx
►
TBuffer.cxx
TBuffer3D.cxx
►
TColor.cxx
TColorGradient.cxx
TDatime.cxx
►
TDirectory.cxx
►
TEnv.cxx
►
TErrorDefaultHandler.cxx
►
TException.cxx
TExec.cxx
TFileCollection.cxx
TFileInfo.cxx
►
TFolder.cxx
TInetAddress.cxx
►
TListOfTypes.cxx
TListOfTypes.h
TMacro.cxx
TMathBase.cxx
►
TMD5.cxx
►
TMemberInspector.cxx
TMessageHandler.cxx
TNamed.cxx
►
TObject.cxx
TObjString.cxx
►
TParameter.cxx
►
TPluginManager.cxx
►
TPRegexp.cxx
►
TProcessID.cxx
TProcessUUID.cxx
►
TQCommand.cxx
►
TQConnection.cxx
►
TQObject.cxx
►
TRef.cxx
►
TRefCnt.cxx
TRegexp.cxx
TRemoteObject.cxx
►
TROOT.cxx
TStopwatch.cxx
►
TStorage.cxx
►
TString.cxx
TStringLong.cxx
►
TStyle.cxx
TSysEvtHandler.cxx
►
TSystem.cxx
TSystemDirectory.cxx
TSystemFile.cxx
TTask.cxx
TTime.cxx
►
TTimer.cxx
►
TTimeStamp.cxx
►
TUri.cxx
TUrl.cxx
►
TUUID.cxx
TVirtualFFT.cxx
►
TVirtualGL.cxx
►
TVirtualMonitoring.cxx
►
TVirtualMutex.cxx
►
TVirtualPad.cxx
TVirtualPadEditor.cxx
TVirtualPadPainter.cxx
►
TVirtualPerfStats.cxx
►
TVirtualPS.cxx
TVirtualViewer3D.cxx
►
TVirtualX.cxx
►
v7
►
clingutils
►
cont
►
dictgen
►
foundation
►
gui
►
imt
►
macosx
►
meta
►
metacling
►
multiproc
►
rint
►
testsupport
►
thread
►
unix
►
winnt
►
zip
►
documentation
►
geom
►
graf2d
►
graf3d
►
gui
►
hist
►
html
►
io
►
main
►
math
►
montecarlo
►
net
►
proof
►
roofit
►
sql
►
tmva
►
tree
►
tutorials
►
v6-32-00-patches
►
File Members
Release Notes
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
TVirtualMutex.cxx
Go to the documentation of this file.
1
// @(#)root/base:$Id$
2
// Author: Fons Rademakers 14/02/2002
3
4
/*************************************************************************
5
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
12
/** \class TVirtualMutex
13
\ingroup Base
14
15
This class implements a mutex interface. The actual work is done via
16
TMutex which is available as soon as the thread library is loaded.
17
18
and
19
20
TLockGuard
21
22
This class provides mutex resource management in a guaranteed and
23
exception safe way. Use like this:
24
~~~ {.cpp}
25
{
26
TLockGuard guard(mutex);
27
... // do something
28
}
29
~~~
30
when guard goes out of scope the mutex is unlocked in the TLockGuard
31
destructor. The exception mechanism takes care of calling the dtors
32
of local objects so it is exception safe.
33
*/
34
35
#include "
TVirtualMutex.h
"
36
#include "
TVirtualRWMutex.h
"
37
38
ClassImp
(
TVirtualMutex
);
39
ClassImp
(
TLockGuard
);
40
41
// Global mutex set in TThread::Init protecting creation
42
// of other (preferably local) mutexes. Note that in this
43
// concept gGlobalMutex must be used in TStorage to prevent
44
// lockup of the system (see TMutex::Factory)
45
TVirtualMutex
*
gGlobalMutex
=
nullptr
;
46
47
// From TVirtualRWMutex.h:
48
ROOT::TVirtualRWMutex::State::~State
() =
default
;
49
ROOT::TVirtualRWMutex::StateDelta::~StateDelta
() =
default
;
ClassImp
#define ClassImp(name)
Definition
Rtypes.h:377
gGlobalMutex
TVirtualMutex * gGlobalMutex
Definition
TVirtualMutex.cxx:45
TVirtualMutex.h
TVirtualRWMutex.h
TLockGuard
Definition
TVirtualMutex.h:70
TVirtualMutex
This class implements a mutex interface.
Definition
TVirtualMutex.h:32
ROOT::TVirtualRWMutex::StateDelta::~StateDelta
virtual ~StateDelta()
ROOT::TVirtualRWMutex::State::~State
virtual ~State()
core
base
src
TVirtualMutex.cxx
ROOT v6-32 - Reference Guide Generated on Wed Apr 2 2025 08:24:20 (GVA Time) using Doxygen 1.10.0