aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsystec-awe <andre.werner@systec-electronic.com>2024-03-20 13:58:56 +0100
committerGitHub <noreply@github.com>2024-03-20 12:58:56 +0000
commit47cab33aa8b3c8b47e34de6148440a1bc30a2297 (patch)
treeb336ff03829032fd37e397f0f9ab90d2014e7f60
parent910e58585fb5675c157cddec2bcd2922045fcda5 (diff)
downloadi3-47cab33aa8b3c8b47e34de6148440a1bc30a2297.tar.gz
i3-47cab33aa8b3c8b47e34de6148440a1bc30a2297.zip
Fix missing SIGUSR2 posix signal handling (#5960)
Since there is no separate error handling the `SIGUSR2` signal is registered to get the write return code after exiting the program. Fixes #5958 --------- Signed-off-by: Andre Werner <andre.werner@systec-electronic.com>
-rw-r--r--src/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 4ebca3e4..41054fcf 100644
--- a/src/main.c
+++ b/src/main.c
@@ -239,7 +239,7 @@ static void handle_term_signal(struct ev_loop *loop, ev_signal *signal, int reve
*/
static void setup_term_handlers(void) {
static struct ev_signal signal_watchers[6];
- size_t num_watchers = sizeof(signal_watchers) / sizeof(signal_watchers[0]);
+ const size_t num_watchers = sizeof(signal_watchers) / sizeof(signal_watchers[0]);
/* We have to rely on libev functionality here and should not use
* sigaction handlers because we need to invoke the exit handlers
@@ -252,7 +252,7 @@ static void setup_term_handlers(void) {
ev_signal_init(&signal_watchers[2], handle_term_signal, SIGALRM);
ev_signal_init(&signal_watchers[3], handle_term_signal, SIGTERM);
ev_signal_init(&signal_watchers[4], handle_term_signal, SIGUSR1);
- ev_signal_init(&signal_watchers[5], handle_term_signal, SIGUSR1);
+ ev_signal_init(&signal_watchers[5], handle_term_signal, SIGUSR2);
for (size_t i = 0; i < num_watchers; i++) {
ev_signal_start(main_loop, &signal_watchers[i]);
/* The signal handlers should not block ev_run from returning