summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 4e3596a7..ca47e80a 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -18,14 +18,14 @@ int handleCritSignal(int signo, void* data) {
return 0; // everything went fine
}
-void handleSegv(int sig) {
+void handleUnrecoverableSignal(int sig) {
if (g_pHookSystem->m_bCurrentEventPlugin) {
longjmp(g_pHookSystem->m_jbHookFaultJumpBuf, 1);
return;
}
- CrashReporter::createAndSaveCrash();
+ CrashReporter::createAndSaveCrash(sig);
abort();
}
@@ -74,7 +74,8 @@ CCompositor::CCompositor() {
// register crit signal handler
wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr);
- signal(SIGSEGV, handleSegv);
+ signal(SIGSEGV, handleUnrecoverableSignal);
+ signal(SIGABRT, handleUnrecoverableSignal);
//wl_event_loop_add_signal(m_sWLEventLoop, SIGINT, handleCritSignal, nullptr);
m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay, &m_sWLRSession);