summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-05-28 13:44:59 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-05-28 13:44:59 +0100
commit98637c521922fb2a934331a4bd01db81fcf3d3dd (patch)
treeaeb76ad220d3a51ac0ca5191fd64bedfd47f6221 /src
parentd9aee67c8ba946842b482aa4dfd792fb1a1b7c62 (diff)
Do not throw exceptions when handling a fatal signal
Diffstat (limited to 'src')
-rw-r--r--src/main.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main.cc b/src/main.cc
index cbd9f8df..6e389c67 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -282,7 +282,11 @@ void signal_handler(int signal)
case SIGPIPE: text = "SIGPIPE"; break;
}
if (signal != SIGTERM)
- on_assert_failed(text);
+ {
+ char* callstack = Backtrace{}.desc();
+ write_stderr(format("Received {}, exiting.\nCallstack:\n{}", text, callstack));
+ free(callstack);
+ }
if (Server::has_instance())
Server::instance().close_session();