diff options
author | systec-awe <andre.werner@systec-electronic.com> | 2024-03-20 13:58:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-20 12:58:56 +0000 |
commit | 47cab33aa8b3c8b47e34de6148440a1bc30a2297 (patch) | |
tree | b336ff03829032fd37e397f0f9ab90d2014e7f60 | |
parent | 910e58585fb5675c157cddec2bcd2922045fcda5 (diff) | |
download | i3-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.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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 |