Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Signal.cpp
Go to the documentation of this file.
1#include "joedb/Signal.h"
2
3extern "C"
4{
5 static sig_atomic_t signal_status;
6
7 // Note: in C++11 signal handlers must have C linkage
8 // making the function static triggers clang-tidy bugprone-signal-handler
9 // not declaring the function before triggers -Wmissing-declarations
10 void CDECL joedb_signal_handler(int status);
11 void CDECL joedb_signal_handler(int status)
12 {
13 signal_status = status;
14 }
15}
16
17namespace joedb
18{
19 ////////////////////////////////////////////////////////////////////////////
20 void Signal::set_signal(int status)
21 ////////////////////////////////////////////////////////////////////////////
22 {
23 signal_status = status;
24 }
25
26 ////////////////////////////////////////////////////////////////////////////
28 ////////////////////////////////////////////////////////////////////////////
29 {
30 return signal_status;
31 }
32
33 ////////////////////////////////////////////////////////////////////////////
35 ////////////////////////////////////////////////////////////////////////////
36 {
37 std::signal(SIGINT, joedb_signal_handler);
38 }
39
40 ////////////////////////////////////////////////////////////////////////////
42 ////////////////////////////////////////////////////////////////////////////
43 {
44 std::signal(SIGINT, SIG_DFL);
45 }
46}
void joedb_signal_handler(int status)
Definition Signal.cpp:11
#define CDECL
Definition Signal.h:7
static int get_signal()
Definition Signal.cpp:27
static void start()
Definition Signal.cpp:34
static void stop()
Definition Signal.cpp:41
static void set_signal(int status)
Definition Signal.cpp:20
Definition Blob.h:7