From 0f82a86131a2b6b0439fad6a020be5ab092dd705 Mon Sep 17 00:00:00 2001 From: Luke Ceddia Date: Mon, 10 Oct 2016 20:42:36 +1100 Subject: [PATCH] Add signal handler to catch SIGFPE (division by 0) on linux. --- internal/c/qbx.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/c/qbx.cpp b/internal/c/qbx.cpp index 52414ab42..1a3d791c2 100644 --- a/internal/c/qbx.cpp +++ b/internal/c/qbx.cpp @@ -2079,6 +2079,12 @@ if(alGetError() != AL_NO_ERROR) exit(444); #ifdef QB64_WINDOWS signal(SIGFPE, division_by_zero_handler); //signal(SIGSEGV, SIGSEGV_handler); +#else + struct sigaction sig_act; + sig_act.sa_handler = division_by_zero_handler; + sigemptyset(&(sig_act.sa_mask)); + sig_act.sa_flags = 0; + sigaction(SIGFPE, &sig_act, NULL); #endif