X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FGC.c;fp=ghc%2Frts%2FGC.c;h=9a21af889785c8f366bb7dc3675d45b8d33acc4a;hb=709d58c007338466175021829aa59cf34b569033;hp=06bd7859e9f5888d078cefafd6965d6b38f38b89;hpb=db2468da1dfdfca286f8ae017656ed7115a77480;p=ghc-hetmet.git 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);