Skip to content

Commit

Permalink
0.9.16.21: small fixes and cleanups
Browse files Browse the repository at this point in the history
 * 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.
  • Loading branch information
nikodemus committed Sep 7, 2006
1 parent 5d898ab commit 18aa51d
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 8 deletions.
4 changes: 4 additions & 0 deletions NEWS
Expand Up @@ -29,6 +29,10 @@ changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16:
* 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
Expand Down
5 changes: 3 additions & 2 deletions contrib/asdf-install/installer.lisp
Expand Up @@ -255,8 +255,9 @@
(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)
Expand Down
2 changes: 1 addition & 1 deletion find-gnumake.sh
Expand Up @@ -6,7 +6,7 @@ find_gnumake() {
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.
Expand Down
3 changes: 0 additions & 3 deletions src/code/run-program.lisp
Expand Up @@ -845,12 +845,9 @@ Common Lisp Users Manual for details about the PROCESS structure.
(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
Expand Down
3 changes: 2 additions & 1 deletion src/code/timer.lisp
Expand Up @@ -337,7 +337,8 @@ triggers."
(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 ()
Expand Down
10 changes: 10 additions & 0 deletions tests/timer.impure.lisp
Expand Up @@ -118,3 +118,13 @@
(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))
2 changes: 1 addition & 1 deletion version.lisp-expr
Expand Up @@ -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.16.20"
"0.9.16.21"

0 comments on commit 18aa51d

Please sign in to comment.