From 053c48c035ea58a2d602c1be91032319acbfa1d0 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 17 Jan 2017 20:47:16 +0000 Subject: [PATCH] dbus-launch: clarify signal handler We only register signal_handler() for the three signals that we want to handle as "kill dbus-daemon and exit", so there's no point in the switch. Silence -Wswitch-default by removing it altogether. The variable name got_fatal_signal and the verbose message are both misleading, because actually this is a handler for multiple signals, not just SIGHUP. Rename them to be generic. Based on part of a patch from Thomas Zimmermann. Signed-off-by: Simon McVittie Reviewed-by: Philip Withnall Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98191 --- tools/dbus-launch.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/tools/dbus-launch.c b/tools/dbus-launch.c index 75f39cf..910628c 100644 --- a/tools/dbus-launch.c +++ b/tools/dbus-launch.c @@ -459,19 +459,12 @@ print_variables (const char *bus_address, pid_t bus_pid, long bus_wid, } } -static int got_sighup = FALSE; +static int got_fatal_signal = 0; static void signal_handler (int sig) { - switch (sig) - { - case SIGHUP: - case SIGINT: - case SIGTERM: - got_sighup = TRUE; - break; - } + got_fatal_signal = sig; } static void kill_bus_when_session_ends (void) _DBUS_GNUC_NORETURN; @@ -487,7 +480,7 @@ kill_bus_when_session_ends (void) sigset_t empty_mask; /* install SIGHUP handler */ - got_sighup = FALSE; + got_fatal_signal = 0; sigemptyset (&empty_mask); act.sa_handler = signal_handler; act.sa_mask = empty_mask; @@ -564,9 +557,10 @@ kill_bus_when_session_ends (void) select (MAX (tty_fd, x_fd) + 1, &read_set, NULL, &err_set, NULL); - if (got_sighup) + if (got_fatal_signal) { - verbose ("Got SIGHUP, exiting\n"); + verbose ("Got fatal signal %d, killing dbus-daemon\n", + got_fatal_signal); kill_bus_and_exit (0); } -- 2.7.4