summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-03-01 15:08:44 +0000
committervaxerski <vaxry@vaxry.net>2023-03-01 15:08:44 +0000
commit6c250df77e2af7c56b1f424ea44430746160f797 (patch)
tree8d1a1baf08033f871d121283eef0c44733534d27 /src/Compositor.cpp
parent7c5c7ced9170b5c1e34825735a720372a6c0c110 (diff)
generate coredumps on sigabrt too
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);