summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/util.c3
-rw-r--r--source3/smbd/server.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 527e1376d1..e8ffd9d8d2 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1440,6 +1440,9 @@ void smb_panic2(const char *why, BOOL decrement_pid_count )
#endif
dbgflush();
+#ifdef SIGABRT
+ CatchSignal(SIGABRT,SIGNAL_CAST SIG_DFL);
+#endif
abort();
}
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 53d07fd905..f25d42711d 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -545,6 +545,10 @@ static BOOL dump_core(void)
DEBUG(0,("Dumping core in %s\n", dname));
+ /* Ensure we don't have a signal handler for abort. */
+#ifdef SIGABRT
+ CatchSignal(SIGABRT,SIGNAL_CAST SIG_DFL);
+#endif
abort();
return(True);
}