Logo ROOT  
Reference Guide
TWin32Mutex.h
Go to the documentation of this file.
1// @(#)root/thread:$Id$
2// Author: Bertrand Bellenot 20/10/2004
3
4/*************************************************************************
5 * Copyright (C) 1995-2004, 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#ifndef ROOT_TWin32Mutex
13#define ROOT_TWin32Mutex
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TWin32Mutex //
19// //
20// This class provides an interface to the Win32 mutex routines. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TMutexImp.h"
25
26#include "Windows4Root.h"
27
28#ifdef __CINT__
29struct CRITICAL_SECTION;
30#endif
31
32class TWin32Mutex : public TMutexImp {
33
34friend class TWin32Condition;
35
36private:
37 CRITICAL_SECTION fCritSect;
38
40
41public:
42 TWin32Mutex(Bool_t recursive=kFALSE);
43 virtual ~TWin32Mutex();
44
45 Int_t Lock() override;
46 Int_t UnLock() override;
47 Int_t TryLock() override;
48
49 ClassDefOverride(TWin32Mutex,0) // Win32 mutex lock
50};
51
52#endif
bool Bool_t
Definition: RtypesCore.h:63
int Int_t
Definition: RtypesCore.h:45
const Bool_t kFALSE
Definition: RtypesCore.h:101
#define BIT(n)
Definition: Rtypes.h:85
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
EStatusBits
Definition: TObject.h:57
Int_t Lock() override
Lock the mutex.
Definition: TWin32Mutex.cxx:48
Int_t UnLock() override
Unlock the mutex.
Definition: TWin32Mutex.cxx:67
virtual ~TWin32Mutex()
TMutex dtor.
Definition: TWin32Mutex.cxx:40
TWin32Mutex(Bool_t recursive=kFALSE)
Create a Win32 mutex lock.
Definition: TWin32Mutex.cxx:32
Int_t TryLock() override
Try locking the mutex. Returns 0 if mutex can be locked.
Definition: TWin32Mutex.cxx:57
CRITICAL_SECTION fCritSect
Definition: TWin32Mutex.h:37