From 709d58c007338466175021829aa59cf34b569033 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 2 Nov 2005 13:05:30 +0000 Subject: [PATCH] [project @ 2005-11-02 13:05:30 by simonmar] release/acquire the SM lock around scheduleFinalizers(), because we need to call allocateLocal() in there, which acquires the SM lock. --- ghc/rts/GC.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ghc/rts/GC.c b/ghc/rts/GC.c index 06bd785..9a21af8 100644 --- a/ghc/rts/GC.c +++ b/ghc/rts/GC.c @@ -1137,7 +1137,9 @@ GarbageCollect ( void (*get_roots)(evac_fn), rtsBool force_major_gc ) resetNurseries(); // start any pending finalizers + RELEASE_SM_LOCK; scheduleFinalizers(last_free_capability, old_weak_ptr_list); + ACQUIRE_SM_LOCK; // send exceptions to any threads which were about to die resurrectThreads(resurrected_threads); -- 1.7.10.4