Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/2f3a41d92bf7bba45a1f37f4dfeaed84ac4ac52a

>---------------------------------------------------------------

commit 2f3a41d92bf7bba45a1f37f4dfeaed84ac4ac52a
Author: Simon Marlow <[email protected]>
Date:   Tue Jun 5 21:17:00 2012 +0100

    The final GC should be a major one
    
    We do a final GC before shutting down the system, to clean up.
    However, we were doing an ordinary GC rather than forcing a major GC,
    so especially when the allocation area is large, this final GC could
    be expensive.  This is really just a bug - the final GC should have
    virtually nothing to do, because there is nothing live.

>---------------------------------------------------------------

 rts/Schedule.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/rts/Schedule.c b/rts/Schedule.c
index 3265653..5a8c35f 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2454,7 +2454,7 @@ exitScheduler (rtsBool wait_foreign USED_IF_THREADS)
        sched_state = SCHED_INTERRUPTING;
         Capability *cap = task->cap;
         waitForReturnCapability(&cap,task);
-        scheduleDoGC(&cap,task,rtsFalse);
+        scheduleDoGC(&cap,task,rtsTrue);
         ASSERT(task->incall->tso == NULL);
         releaseCapability(cap);
     }



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to