[project @ 2005-04-12 12:24:27 by simonmar]
authorsimonmar <unknown>
Tue, 12 Apr 2005 12:24:27 +0000 (12:24 +0000)
committersimonmar <unknown>
Tue, 12 Apr 2005 12:24:27 +0000 (12:24 +0000)
- emit a debug message when we're yielding at shut down time

ghc/rts/Task.c

index 76ea891..06eab69 100644 (file)
@@ -78,10 +78,11 @@ stopTaskManager (void)
            IF_DEBUG(scheduler, sched_belch("all tasks stopped"));
            return;
        }
+       IF_DEBUG(scheduler, sched_belch("yielding"));
        prodWorker();
        yieldThread();
     }
-    IF_DEBUG(scheduler, sched_belch("%d tasks still running, exiting anyway", tasksRunning));
+    errorBelch("%d tasks still running, exiting anyway", tasksRunning);
 
     /* 
        OLD CODE follows:
@@ -200,9 +201,6 @@ taskStop (void)
     }
     ASSERT(task_info->id == id);
 
-    task_info->stopped = rtsTrue;
-    tasksRunning--;
-
     stat_getTimes(&currentElapsedTime, &currentUserTime, &elapsedGCTime);
     
     task_info->mut_time = 
@@ -212,6 +210,9 @@ taskStop (void)
 
     if (task_info->mut_time < 0.0)  { task_info->mut_time = 0.0;  }
     if (task_info->mut_etime < 0.0) { task_info->mut_etime = 0.0; }
+
+    task_info->stopped = rtsTrue;
+    tasksRunning--;
 }
 
 void