summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-10-05 10:08:09 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-10-05 10:08:09 +0200
commitd8ab9534423a5537c19c2a43577c5716d3114975 (patch)
treec1b7be77dd8da7959c77fea3f0d341e1fc32608e /platform/linuxbsd
parentb9bf46de9e46a4e356a4def177edefb1b74fa9e4 (diff)
parentb49e9c9896e131201e2cf4550f7060b767e497c0 (diff)
downloadredot-engine-d8ab9534423a5537c19c2a43577c5716d3114975.tar.gz
Merge pull request #82163 from naelstrof/master
Made signal handling more uniform during crashes.
Diffstat (limited to 'platform/linuxbsd')
-rw-r--r--platform/linuxbsd/crash_handler_linuxbsd.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/platform/linuxbsd/crash_handler_linuxbsd.cpp b/platform/linuxbsd/crash_handler_linuxbsd.cpp
index 3a245460b4..fd4bcf92be 100644
--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
+++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
@@ -49,6 +49,10 @@
#include <stdlib.h>
static void handle_crash(int sig) {
+ signal(SIGSEGV, SIG_DFL);
+ signal(SIGFPE, SIG_DFL);
+ signal(SIGILL, SIG_DFL);
+
if (OS::get_singleton() == nullptr) {
abort();
}
@@ -156,9 +160,9 @@ void CrashHandler::disable() {
}
#ifdef CRASH_HANDLER_ENABLED
- signal(SIGSEGV, nullptr);
- signal(SIGFPE, nullptr);
- signal(SIGILL, nullptr);
+ signal(SIGSEGV, SIG_DFL);
+ signal(SIGFPE, SIG_DFL);
+ signal(SIGILL, SIG_DFL);
#endif
disabled = true;