[systemd-commits] src/core

Lennart Poettering lennart at kemper.freedesktop.org
Mon Jan 26 16:49:29 PST 2015


 src/core/main.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 297d563de43167f21510061d2de55979a4d65ac4
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Jan 27 01:47:37 2015 +0100

    core: explain why failing to set up the crash handler is not a real problem
    
    http://lists.freedesktop.org/archives/systemd-devel/2015-January/027428.html

diff --git a/src/core/main.c b/src/core/main.c
index e2e1399..ce37c59 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -224,12 +224,17 @@ noreturn static void crash(int sig) {
 }
 
 static void install_crash_handler(void) {
-        struct sigaction sa = {
+        static const struct sigaction sa = {
                 .sa_handler = crash,
-                .sa_flags = SA_NODEFER,
+                .sa_flags = SA_NODEFER, /* So that we can raise the signal again from the signal handler */
         };
+        int r;
 
-        sigaction_many(&sa, SIGNALS_CRASH_HANDLER, -1);
+        /* We ignore the return value here, since, we don't mind if we
+         * cannot set up a crash handler */
+        r = sigaction_many(&sa, SIGNALS_CRASH_HANDLER, -1);
+        if (r < 0)
+                log_debug_errno(r, "I had trouble setting up the crash handler, ignoring: %m");
 }
 
 static int console_setup(void) {



More information about the systemd-commits mailing list