summaryrefslogtreecommitdiff
path: root/Lisp/memory-management.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-11 19:47:27 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-11 19:47:27 +0100
commit59460d1a4877f8b07cc91e045f07eb2c02bb8771 (patch)
tree758756ca81c5795f994e1d07f79169a17a7ef9ac /Lisp/memory-management.lisp
parent31cd0253d521f458da739ac0b3c545a32bfadf03 (diff)
Do not rely on the GC to remove entries of a weak hash table.
This patch finally makes Objective-CL not crash consistently on CLISP. darcs-hash:20d392bc8e5203efd20e3c57224c2b1338ecb8d9
Diffstat (limited to 'Lisp/memory-management.lisp')
-rw-r--r--Lisp/memory-management.lisp1
1 files changed, 1 insertions, 0 deletions
diff --git a/Lisp/memory-management.lisp b/Lisp/memory-management.lisp
index 4829a1e..6e4731a 100644
--- a/Lisp/memory-management.lisp
+++ b/Lisp/memory-management.lisp
@@ -113,6 +113,7 @@
;; object wrapper cannot be used anymore. We're
;; right within its finalisation phase, after
;; all.
+ (weak-remhash address hash-table)
(primitive-invoke pointer "release" :void)))
(trivial-garbage:finalize new-wrapper #'finalizer)))
new-wrapper)))))