[gdm/wip/modernize: 3/10] Remove handling of SIGSEGV/SIGFPE/SIGILL etc.



commit 907deabe9f879c1a9079679975f3cde8c1e5e717
Author: Colin Walters <walters verbum org>
Date:   Mon Dec 3 13:24:07 2012 -0500

    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().

 daemon/main.c                     |    9 ---------
 daemon/session-worker-main.c      |   22 ----------------------
 daemon/simple-slave-main.c        |   22 ----------------------
 daemon/xdmcp-chooser-slave-main.c |   22 ----------------------
 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 b1c644f..a5a3b52 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 a1f92c2..3383e66 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 695a80a..866d814 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 dbe1330..8b58aba 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 f9fb99f..7d9632c 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);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]