* timers expiring in dead thread no longer cause a TYPE-ERROR.
Reported by Paul "Nonny Mouse" on sbcl-devel.
* ASDF-INSTALL uses GNU tar on Solaris. From patch by Josip Gracin.
* Unnecessary conditional in RUN-PROGRAM on Win32. Reported by Yaroslav
Kavenchuck.
* Use cut from index 1, not 0 in find-gnumake.sh. Reported by Harald
Hanche-Olsen.
* bug fix: The :PTY argument for RUN-PROGRAM will now work on
systems with Unix98 pty semantics.
* bug fix: ASDF-INSTALL will now work with bsd tar.
+ * bug fix: ASDF-INSTALL uses GNU tar on Solaris (thanks to Josip
+ Gracin).
+ * bug fix: timers expiring in dead threads no longer cause a
+ type-error (reported by Paul "Nonny Mouse").
changes in sbcl-0.9.16 relative to sbcl-0.9.15:
* feature: implemented the READER-METHOD-CLASS and
(elt *locations* (1- response)))))
(defparameter *tar-program*
- (or #+darwin "gnutar"
- "tar"))
+ #+darwin "gnutar"
+ #+sunos "gtar"
+ #-(or darwin sunos) "tar")
(defun get-tar-directory (packagename)
(let* ((tar (with-output-to-string (o)
if [ "$GNUMAKE" != "" ] ; then
# The user is evidently trying to tell us something.
GNUMAKE="$GNUMAKE"
- elif [ "GNU Make" = "`make -v | head -n 1 | cut -b 0-8`" ]; then
+ elif [ "GNU Make" = "`make -v | head -n 1 | cut -b 1-8`" ]; then
GNUMAKE=make
elif [ -x "`which gmake`" ] ; then
# "gmake" is the preferred name in *BSD.
(coerce
;; Apparently any spaces or double quotes in the arguments
;; need to be escaped on win32.
- #+win32
(if (position-if (lambda (c) (find c '(#\" #\Space))) x)
(write-to-string x)
x)
- #-win32
- x
'simple-string))
args)))
(unwind-protect
(handler-case
(sb!thread:interrupt-thread thread function)
(sb!thread:interrupt-thread-error (c)
- (warn c)))))))
+ (declare (ignore c))
+ (warn "Timer ~S failed to interrupt thread ~S." timer thread)))))))
;; Called from the signal handler.
(defun run-expired-timers ()
(sb-ext:with-timeout 0.5
(sleep 5)
(assert nil))))))
+
+#+sb-thread
+(with-test (:name (:with-timeout :dead-thread))
+ (sb-thread:make-thread
+ (lambda ()
+ (let ((timer (make-timer (lambda ()))))
+ (schedule-timer timer 3)
+ (assert t))))
+ (sleep 6)
+ (assert t))
;;; 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.16.20"
+"0.9.16.21"