0.9.4.3:
authorGabor Melis <mega@hotpop.com>
Fri, 26 Aug 2005 19:33:47 +0000 (19:33 +0000)
committerGabor Melis <mega@hotpop.com>
Fri, 26 Aug 2005 19:33:47 +0000 (19:33 +0000)
  * SIGFPE is not deferrable

src/runtime/interrupt.c
tests/float.pure.lisp
version.lisp-expr

index 79275ef..d822ceb 100644 (file)
@@ -83,7 +83,6 @@ void sigaddset_deferrable(sigset_t *s)
     sigaddset(s, SIGPIPE);
     sigaddset(s, SIGALRM);
     sigaddset(s, SIGURG);
-    sigaddset(s, SIGFPE);
     sigaddset(s, SIGTSTP);
     sigaddset(s, SIGCHLD);
     sigaddset(s, SIGIO);
@@ -423,7 +422,8 @@ interrupt_handle_now(int signal, siginfo_t *info, void *void_context)
 #endif
     union interrupt_handler handler;
     check_blockables_blocked_or_lose();
-    check_interrupts_enabled_or_lose(context);
+    if (sigismember(&deferrable_sigset,signal))
+        check_interrupts_enabled_or_lose(context);
 
 #ifdef LISP_FEATURE_LINUX
     /* Under Linux on some architectures, we appear to have to restore
index 1d38c03..81a10f5 100644 (file)
       (phase (the (eql #c(1.0d0 2.0d0)) p1))))
    #c(1.0d0 2.0d0))
     'double-float))
+
+(assert (typep (nth-value
+                1
+                (ignore-errors
+                  (sb-sys:without-interrupts
+                    (loop repeat 2 summing most-positive-double-float)
+                    (sleep 2))))
+               'floating-point-overflow))
index 4d0c64c..d2cd328 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.4.2"
+"0.9.4.3"