From: simonmar Date: Wed, 2 Nov 2005 13:05:30 +0000 (+0000) Subject: [project @ 2005-11-02 13:05:30 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~86 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=709d58c007338466175021829aa59cf34b569033;p=ghc-hetmet.git [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. --- 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);