diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2017-01-17 20:47:16 +0000 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2017-04-07 12:07:43 +0100 |
commit | 053c48c035ea58a2d602c1be91032319acbfa1d0 (patch) | |
tree | 66be675d99bb2901a95c9bac53574d3ce69ae57c | |
parent | 67c3ad422cffdd59a8e1706bcc7f875c54f03314 (diff) |
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 <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98191
-rw-r--r-- | tools/dbus-launch.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/tools/dbus-launch.c b/tools/dbus-launch.c index 75f39cf0..910628c6 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); } |