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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/9fb9395beebc5c6f85571991af7fd55b4db86977

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

commit 9fb9395beebc5c6f85571991af7fd55b4db86977
Author: Simon Marlow <marlo...@gmail.com>
Date:   Wed May 11 11:00:10 2011 +0100

    scheduleDoGC: if we're doing heapCensus(), do it *before* releasing
    the other mutator threads (#5127)

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

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

diff --git a/rts/Schedule.c b/rts/Schedule.c
index f5cb568..9636223 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -1447,6 +1447,12 @@ delete_threads_and_gc:
         recent_activity = ACTIVITY_YES;
     }
 
+    if (heap_census) {
+        debugTrace(DEBUG_sched, "performing heap census");
+        heapCensus();
+       performHeapProfile = rtsFalse;
+    }
+
 #if defined(THREADED_RTS)
     if (gc_type == PENDING_GC_PAR)
     {
@@ -1454,12 +1460,6 @@ delete_threads_and_gc:
     }
 #endif
 
-    if (heap_census) {
-        debugTrace(DEBUG_sched, "performing heap census");
-        heapCensus();
-       performHeapProfile = rtsFalse;
-    }
-
     if (heap_overflow && sched_state < SCHED_INTERRUPTING) {
         // GC set the heap_overflow flag, so we should proceed with
         // an orderly shutdown now.  Ultimately we want the main



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to