0.8.3.95
authorDaniel Barlow <dan@telent.net>
Mon, 29 Sep 2003 15:35:30 +0000 (15:35 +0000)
committerDaniel Barlow <dan@telent.net>
Mon, 29 Sep 2003 15:35:30 +0000 (15:35 +0000)
Minimal fix to compile on Linux 2.6 and recent FreeBSD:
disable running of pre-gc hooks
move running of post-gc hooks later, so it is done after
 other threads start running aagin, outside the GC lock

src/code/gc.lisp
version.lisp-expr

index 0e60184..684e926 100644 (file)
@@ -244,16 +244,18 @@ and submit it as a patch."
       (let ((*already-in-gc* t))
        (without-interrupts
         (gc-stop-the-world)
+        #+nil
         (dolist (h *before-gc-hooks*)
           (carefully-funcall h))
         (collect-garbage gen)
         (incf *n-bytes-freed-or-purified*
               (max 0 (- pre-gc-dynamic-usage (dynamic-usage))))
         (setf *need-to-collect-garbage* nil)
-        (dolist (h *after-gc-hooks*)
-          (carefully-funcall h))
+
         (gc-start-the-world)))
-      (scrub-control-stack)))
+      (scrub-control-stack))
+    (dolist (h *after-gc-hooks*)
+      (carefully-funcall h)))
   (values))
        
 
index 260689b..6942537 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.8.3.94"
+"0.8.3.95"