diff options
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 7 |
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); |
