EUDAQ
Main Page
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Pages
main
include
eudaq
Mutex.hh
1
#ifndef H_EUDAQ_MUTEX
2
#define H_EUDAQ_MUTEX
3
4
#include "eudaq/Platform.hh"
5
6
namespace
eudaq {
7
8
class
DLLEXPORT
Mutex
{
9
public
:
10
Mutex
();
11
~
Mutex
();
12
int
Lock();
13
int
TryLock();
14
int
UnLock();
15
16
private
:
17
class
Impl
;
18
Impl
*m_impl;
19
};
20
21
class
DLLEXPORT
MutexLock
{
22
public
:
23
MutexLock
(
Mutex
&m,
bool
lock =
true
);
24
~
MutexLock
();
25
void
Lock();
26
void
Release();
27
28
private
:
29
Mutex
&m_mutex;
30
bool
m_locked;
31
};
32
33
// class MutexTryLock {
34
// public:
35
// MutexTryLock(Mutex & m);
36
// ~MutexTryLock();
37
// void Release();
38
// operator bool () const;
39
// private:
40
// Mutex & m_mutex;
41
// bool m_locked;
42
// };
43
}
44
45
#endif // H_EUDAQ_MUTEX
eudaq::Mutex
Definition:
Mutex.hh:8
eudaq::Mutex::Impl
Definition:
Mutex.cc:8
eudaq::MutexLock
Definition:
Mutex.hh:21
Generated on Wed Oct 12 2016 15:15:55 for EUDAQ by
1.8.6