1.0.8.37: Workaround (or bugfix?) for blocked SIGTRAP on SBCL/MIPS.
authorThiemo Seufer <ths@networkno.de>
Sun, 19 Aug 2007 23:57:09 +0000 (23:57 +0000)
committerThiemo Seufer <ths@networkno.de>
Sun, 19 Aug 2007 23:57:09 +0000 (23:57 +0000)
src/code/interr.lisp
version.lisp-expr

index 282e1df..fe81a1f 100644 (file)
        (multiple-value-bind (name sb!debug:*stack-top-hint*)
            (find-interrupted-name-and-frame)
          (/show0 "back from FIND-INTERRUPTED-NAME")
+         ;; Unblock trap signal here, we unwound the stack and can't return.
+         ;; FIXME: Should we not reset the _entire_ mask, but just
+         ;; restore it to the state before we got the condition?
+         ;; FIXME 2: Signals are currently unblocked in
+         ;; interrupt.c:internal_error before we do stack unwinding, can this
+         ;; introduce a race condition?
+         #!+(or linux mips)
+         (sb!unix::reset-signal-mask)
          (let ((fp (int-sap (sb!vm:context-register alien-context
                                                     sb!vm::cfp-offset)))
                (handler (and (< -1 error-number (length *internal-errors*))
index 9f7de9a..32c7ef9 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".)
-"1.0.8.36"
+"1.0.8.37"