diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/util.c | 3 | ||||
-rw-r--r-- | source3/smbd/server.c | 4 |
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); } |