0.9.3.75:
authorGabor Melis <mega@hotpop.com>
Mon, 22 Aug 2005 10:19:44 +0000 (10:19 +0000)
committerGabor Melis <mega@hotpop.com>
Mon, 22 Aug 2005 10:19:44 +0000 (10:19 +0000)
  * set *CURRENT-THREAD* to NIL on thread exit else it cannot be garbage
    collected

NEWS
src/code/target-thread.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 3f57aca..f045606 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -48,6 +48,7 @@ changes in sbcl-0.9.4 relative to sbcl-0.9.3:
     ** bug fix: one less memory fault in INTERRUPT-THREAD, again
     ** bug fix: gc and INTERRUPT-THREAD don't hang when the RT signal
        queue is full
+    ** bug fix: finished threads are gc'ed properly
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** CALL-NEXT-METHOD signals an error (in safe code) when the call
        has arguments with a different set of applicable methods from
index f4e9fc6..639bd2d 100644 (file)
@@ -498,9 +498,10 @@ returns the thread exits."
                              ;; we're going down, can't handle
                              ;; interrupts sanely anymore
                              (block-deferrable-signals-and-inhibit-gc)))))
-                  ;; and remove what can be the last reference to the
+                  ;; and remove what can be the last references to the
                   ;; thread object
                   (handle-thread-exit thread)
+                  (setq *current-thread* nil)
                   0))
               (values))))))
     (when (sb!sys:sap= thread-sap (sb!sys:int-sap 0))
index 10c82ff..94a5938 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.3.74"
+"0.9.3.75"