From 81dc94c406361564d833d33fadd9188f542fb46d Mon Sep 17 00:00:00 2001 From: Pinguin1234 <18099221+Pinguin1234@users.noreply.github.com> Date: Sat, 4 Apr 2020 00:55:27 +0200 Subject: [PATCH] Added option to quit in SIGHUP --- src/core/core.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/core/core.c b/src/core/core.c index 878d9eb6..08d9cb6e 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -88,6 +88,11 @@ static void sig_reload_config(int signo) reload_config = TRUE; } +static void sig_quit_on_hup(int signo) +{ + signal_emit("gui exit", 0); +} + static void read_settings(void) { static int signals[] = { @@ -102,14 +107,16 @@ static void read_settings(void) const char *ignores; struct sigaction act; int n; + int quit_on_hup; ignores = settings_get_str("ignore_signals"); sigemptyset (&act.sa_mask); act.sa_flags = 0; - /* reload config on SIGHUP */ - act.sa_handler = sig_reload_config; + quit_on_hup = settings_get_bool("quit_on_hup"); + + act.sa_handler = quit_on_hup ? sig_quit_on_hup : sig_reload_config; sigaction(SIGHUP, &act, NULL); for (n = 0; n < sizeof(signals)/sizeof(signals[0]); n++) { @@ -267,6 +274,8 @@ void core_init(void) settings_add_str("misc", "ignore_signals", ""); settings_add_bool("misc", "override_coredump_limit", FALSE); + settings_add_bool("misc", "quit_on_hup", FALSE); + #ifdef HAVE_SYS_RESOURCE_H getrlimit(RLIMIT_CORE, &orig_core_rlimit);