DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
uhallibs
include
uhallibs
ipc
RobustMutex.hpp
Go to the documentation of this file.
1
2
#ifndef _uhal_ipc_RobustMutex_hpp_
3
#define _uhal_ipc_RobustMutex_hpp_
4
5
#include <cstdint>
6
7
#include "uhal/ClientInterface.hpp"
8
#include "uhal/log/exception.hpp"
9
10
namespace
uhallibs
{
11
namespace
ipc {
12
13
namespace
exception
{
15
UHAL_DEFINE_DERIVED_EXCEPTION_CLASS(
16
MutexError, uhal::exception::TransportLayerError,
17
"Exception class to handle errors from pthread mutex-related functions."
)
18
}
// namespace exception
19
20
class
RobustMutex
{
21
public
:
22
RobustMutex
();
23
~RobustMutex
();
24
25
void
lock
();
26
27
void
unlock
();
28
29
uint64_t
getCounter
()
const
;
30
31
bool
isActive
()
const
;
32
33
void
startSession
();
34
35
void
endSession
();
36
37
private
:
38
RobustMutex
(
const
RobustMutex
&);
39
40
pthread_mutex_t
mMutex
;
41
uint64_t
mCount
;
42
bool
mSessionActive
;
43
};
44
45
}
// namespace ipc
46
}
// namespace uhal
47
48
#endif
/* _uhal_ipc_RobustMutex_hpp_ */
uhallibs::ipc::RobustMutex
Definition
RobustMutex.hpp:20
uhallibs::ipc::RobustMutex::lock
void lock()
Definition
RobustMutex.cpp:48
uhallibs::ipc::RobustMutex::~RobustMutex
~RobustMutex()
Definition
RobustMutex.cpp:46
uhallibs::ipc::RobustMutex::getCounter
uint64_t getCounter() const
Definition
RobustMutex.cpp:68
uhallibs::ipc::RobustMutex::RobustMutex
RobustMutex()
Definition
RobustMutex.cpp:10
uhallibs::ipc::RobustMutex::isActive
bool isActive() const
Definition
RobustMutex.cpp:70
uhallibs::ipc::RobustMutex::startSession
void startSession()
Definition
RobustMutex.cpp:72
uhallibs::ipc::RobustMutex::unlock
void unlock()
Definition
RobustMutex.cpp:61
uhallibs::ipc::RobustMutex::mSessionActive
bool mSessionActive
Definition
RobustMutex.hpp:42
uhallibs::ipc::RobustMutex::RobustMutex
RobustMutex(const RobustMutex &)
uhallibs::ipc::RobustMutex::mCount
uint64_t mCount
Definition
RobustMutex.hpp:41
uhallibs::ipc::RobustMutex::mMutex
pthread_mutex_t mMutex
Definition
RobustMutex.hpp:40
uhallibs::ipc::RobustMutex::endSession
void endSession()
Definition
RobustMutex.cpp:77
exception
caught dunedaq::conffwk::Exception exception
Definition
config_dump.cxx:24
uhallibs
Definition
formatters.hpp:9
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0