X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Finterrupt.c;h=467a2e4431cefab9fc412c8d5e12845f15fbdf6a;hb=7f0f521aa3f6b45259c5dfd5f7f11adcd1a7cac6;hp=4c56a0a39ce9ecbe0b5395e769fd2bb8fab32873;hpb=3c65762b927af861c9c8bc416e4cbac9a14ec0c3;p=sbcl.git diff --git a/src/runtime/interrupt.c b/src/runtime/interrupt.c index 4c56a0a..467a2e4 100644 --- a/src/runtime/interrupt.c +++ b/src/runtime/interrupt.c @@ -15,13 +15,8 @@ #include #include - +#include #include -#ifdef mach /* KLUDGE: #ifdef on lowercase symbols? Ick. -- WHN 19990904 */ -#ifdef mips -#include -#endif -#endif #include "runtime.h" #include "arch.h" @@ -45,6 +40,7 @@ void sigaddset_blockable(sigset_t *s) sigaddset(s, SIGPIPE); sigaddset(s, SIGALRM); sigaddset(s, SIGURG); + sigaddset(s, SIGFPE); sigaddset(s, SIGTSTP); sigaddset(s, SIGCHLD); sigaddset(s, SIGIO); @@ -321,7 +317,10 @@ interrupt_handle_pending(os_context_t *context) * anyway. Why we still need to copy the pending_mask into the * context given that we're now done with the context anyway, I * couldn't say. */ - memcpy(os_context_sigmask_addr(context), &pending_mask, sizeof(sigset_t)); +#if 0 + memcpy(os_context_sigmask_addr(context), &pending_mask, + 4 /* sizeof(sigset_t) */ ); +#endif sigemptyset(&pending_mask); if (pending_signal) { int signal = pending_signal; @@ -369,7 +368,7 @@ interrupt_handle_now(int signal, siginfo_t *info, void *void_context) if (ARE_SAME_HANDLER(handler.c, SIG_IGN)) { return; } - + #ifndef __i386__ were_in_lisp = !foreign_function_call_active; if (were_in_lisp)