From 15c399cdcdc8da2fc716cdfbe1277a13f647ce63 Mon Sep 17 00:00:00 2001 From: Arran Cudbard-Bell Date: Wed, 25 Jun 2014 21:28:33 +0100 Subject: [PATCH] Only register signal handlers if we have a PANIC_ACTION set --- src/lib/debug.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/lib/debug.c b/src/lib/debug.c index e1f0125..f4c1ad4 100644 --- a/src/lib/debug.c +++ b/src/lib/debug.c @@ -676,24 +676,25 @@ int fr_fault_setup(char const *cmd, char const *program) /* Unsure what the side effects of changing the signal handler mid execution might be */ if (!setup) { + if (cmd) { #ifdef SIGSEGV - if (fr_set_signal(SIGSEGV, fr_fault) < 0) return -1; + if (fr_set_signal(SIGSEGV, fr_fault) < 0) return -1; #endif #ifdef SIGBUS - if (fr_set_signal(SIGBUS, fr_fault) < 0) return -1; + if (fr_set_signal(SIGBUS, fr_fault) < 0) return -1; #endif #ifdef SIGABRT - if (fr_set_signal(SIGABRT, fr_fault) < 0) return -1; - /* - * Use this instead of abort so we get a - * full backtrace with broken versions of LLDB - */ - talloc_set_abort_fn(_fr_talloc_fault); + if (fr_set_signal(SIGABRT, fr_fault) < 0) return -1; + /* + * Use this instead of abort so we get a + * full backtrace with broken versions of LLDB + */ + talloc_set_abort_fn(_fr_talloc_fault); #endif #ifdef SIGFPE - if (fr_set_signal(SIGFPE, fr_fault) < 0) return -1; + if (fr_set_signal(SIGFPE, fr_fault) < 0) return -1; #endif - + } #ifdef SIGUSR1 if (fr_set_signal(SIGUSR1, fr_fault) < 0) return -1; #endif -- 2.1.4