diff options
Diffstat (limited to 'src/server/signal.cc')
-rw-r--r-- | src/server/signal.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/signal.cc b/src/server/signal.cc new file mode 100644 index 0000000..ea7ae3e --- /dev/null +++ b/src/server/signal.cc @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: BSD-3-Clause + +#include "signal.h" + +namespace server { + +volatile sig_atomic_t shutdownCaught = 0; + +static void sighandler(int) { + shutdownCaught = 1; +} + +void set_signal_handlers() { + struct sigaction sa = {0}; + sa.sa_handler = sighandler; + sigaction(SIGTERM, &sa, nullptr); + sigaction(SIGINT, &sa, nullptr); +} + +}
\ No newline at end of file |