diff options
author | Colin Walters <walters@verbum.org> | 2012-12-03 13:24:07 -0500 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2012-12-03 14:07:01 -0500 |
commit | 907deabe9f879c1a9079679975f3cde8c1e5e717 (patch) | |
tree | a187d4a34b4b3c0e65bf73b6b28a55256f07bbd2 | |
parent | 5cd90ebcf1acc302e7d2f9ca84af2300bd582023 (diff) | |
download | gdm-907deabe9f879c1a9079679975f3cde8c1e5e717.tar.gz |
Remove handling of SIGSEGV/SIGFPE/SIGILL etc.
Modern operating systems have "crash catching" functionality; for
example, systemd comes with "systemd-coredump" which collects cores
automatically.
Attempting to handle these kinds of fatal signals internally is now
much worse, because the original source of the problem will be masked.
systemd won't collect a core file that would include a backtrace, for
example.
Also, with these removed, we can move forward porting to
g_unix_signal_add().
-rw-r--r-- | daemon/main.c | 9 | ||||
-rw-r--r-- | daemon/session-worker-main.c | 22 | ||||
-rw-r--r-- | daemon/simple-slave-main.c | 22 | ||||
-rw-r--r-- | daemon/xdmcp-chooser-slave-main.c | 22 | ||||
-rw-r--r-- | gui/simple-greeter/greeter-main.c | 9 |
5 files changed, 0 insertions, 84 deletions
diff --git a/daemon/main.c b/daemon/main.c index b1c644f3..a5a3b52c 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -277,14 +277,6 @@ signal_cb (int signo, ret = TRUE; switch (signo) { - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); - ret = FALSE; - - break; - case SIGINT: case SIGTERM: /* let the fatal signals interrupt us */ @@ -447,7 +439,6 @@ main (int argc, gdm_signal_handler_add_fatal (signal_handler); gdm_signal_handler_add (signal_handler, SIGTERM, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGFPE, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGHUP, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); diff --git a/daemon/session-worker-main.c b/daemon/session-worker-main.c index a1f92c27..3383e66d 100644 --- a/daemon/session-worker-main.c +++ b/daemon/session-worker-main.c @@ -57,23 +57,6 @@ signal_cb (int signo, ret = TRUE; switch (signo) { - case SIGSEGV: - case SIGBUS: - case SIGILL: - case SIGABRT: - g_debug ("Caught signal %d.", signo); - - ret = FALSE; - break; - - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); - ret = FALSE; - - break; - case SIGINT: case SIGTERM: /* let the fatal signals interrupt us */ @@ -185,12 +168,7 @@ main (int argc, (GDestroyNotify)g_main_loop_quit, main_loop); gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGILL, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGBUS, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGFPE, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGHUP, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGSEGV, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGABRT, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); g_main_loop_run (main_loop); diff --git a/daemon/simple-slave-main.c b/daemon/simple-slave-main.c index 695a80a4..866d814d 100644 --- a/daemon/simple-slave-main.c +++ b/daemon/simple-slave-main.c @@ -81,23 +81,6 @@ signal_cb (int signo, ret = TRUE; switch (signo) { - case SIGSEGV: - case SIGBUS: - case SIGILL: - case SIGABRT: - g_debug ("Caught signal %d.", signo); - - ret = FALSE; - break; - - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); - ret = FALSE; - - break; - case SIGINT: case SIGTERM: /* let the fatal signals interrupt us */ @@ -232,12 +215,7 @@ main (int argc, main_loop); gdm_signal_handler_add (signal_handler, SIGTERM, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGILL, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGBUS, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGFPE, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGHUP, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGSEGV, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGABRT, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR2, signal_cb, NULL); diff --git a/daemon/xdmcp-chooser-slave-main.c b/daemon/xdmcp-chooser-slave-main.c index dbe1330c..8b58abaa 100644 --- a/daemon/xdmcp-chooser-slave-main.c +++ b/daemon/xdmcp-chooser-slave-main.c @@ -80,23 +80,6 @@ signal_cb (int signo, ret = TRUE; switch (signo) { - case SIGSEGV: - case SIGBUS: - case SIGILL: - case SIGABRT: - g_debug ("Caught signal %d.", signo); - - ret = FALSE; - break; - - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); - ret = FALSE; - - break; - case SIGINT: case SIGTERM: /* let the fatal signals interrupt us */ @@ -225,12 +208,7 @@ main (int argc, main_loop); gdm_signal_handler_add (signal_handler, SIGTERM, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGILL, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGBUS, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGFPE, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGHUP, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGSEGV, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGABRT, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR2, signal_cb, NULL); diff --git a/gui/simple-greeter/greeter-main.c b/gui/simple-greeter/greeter-main.c index f9fb99f7..7d9632c2 100644 --- a/gui/simple-greeter/greeter-main.c +++ b/gui/simple-greeter/greeter-main.c @@ -79,14 +79,6 @@ signal_cb (int signo, ret = TRUE; switch (signo) { - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); - ret = FALSE; - - break; - case SIGINT: case SIGTERM: /* let the fatal signals interrupt us */ @@ -299,7 +291,6 @@ main (int argc, char *argv[]) gdm_signal_handler_add_fatal (signal_handler); gdm_signal_handler_add (signal_handler, SIGTERM, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGINT, signal_cb, NULL); - gdm_signal_handler_add (signal_handler, SIGFPE, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGHUP, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); |