diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-05-28 13:44:59 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-05-28 13:44:59 +0100 |
| commit | 98637c521922fb2a934331a4bd01db81fcf3d3dd (patch) | |
| tree | aeb76ad220d3a51ac0ca5191fd64bedfd47f6221 /src | |
| parent | d9aee67c8ba946842b482aa4dfd792fb1a1b7c62 (diff) | |
Do not throw exceptions when handling a fatal signal
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cc | 6 |
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(); |
