From f913fb8479e14029aa510b01d620e64b17d4ad31 Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Mon, 16 Jan 2017 15:59:00 -1000 Subject: [PATCH] Handle SIGABRT --- lib/logvisor.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/logvisor.cpp b/lib/logvisor.cpp index 5afa5f7..202d053 100644 --- a/lib/logvisor.cpp +++ b/lib/logvisor.cpp @@ -187,7 +187,8 @@ void logvisorAbort() } fflush(stderr); - abort(); + fflush(stdout); + exit(1); } #endif @@ -202,6 +203,8 @@ static void AbortHandler(int signum) Log.report(logvisor::Fatal, "Bad Execution"); case SIGFPE: Log.report(logvisor::Fatal, "Floating Point Exception"); + case SIGABRT: + Log.report(logvisor::Fatal, "Abort Signal"); default: Log.report(logvisor::Fatal, "unknown signal %d", signum); } @@ -452,6 +455,7 @@ void CreateWin32Console() void RegisterStandardExceptions() { + signal(SIGABRT, AbortHandler); signal(SIGSEGV, AbortHandler); signal(SIGILL, AbortHandler); signal(SIGFPE, AbortHandler);