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
(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))
;;; 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"