From d9b456d738e5013d48f41f5e6315ef7c22d6acf0 Mon Sep 17 00:00:00 2001 From: Sam Light Date: Wed, 10 Sep 2025 19:37:28 +0100 Subject: Initial commit --- src/signal.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/signal.c (limited to 'src/signal.c') diff --git a/src/signal.c b/src/signal.c new file mode 100644 index 0000000..e993ae3 --- /dev/null +++ b/src/signal.c @@ -0,0 +1,34 @@ +#include "signal.h" + +#include + +sig_atomic_t signal_running; + +static void +handle_signal_shutdown(int sig) +{ + signal_running = 0; +} + +int +signal_setup_actions() +{ + int rc; + struct sigaction action; + + signal_running = 1; + + memset(&action, 0, sizeof(action)); + action.sa_handler = handle_signal_shutdown; + rc = sigemptyset(&action.sa_mask); + if(rc < 0) return rc; + rc = sigaction(SIGINT, &action, 0); + if(rc < 0) return rc; + + rc = sigemptyset(&action.sa_mask); + if(rc < 0) return rc; + rc = sigaction(SIGTERM, &action, 0); + if(rc < 0) return rc; + + return rc; +} -- cgit v1.2.3