X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FTask.h;h=3b7a08ee96f63dbb2034b5e5dead40c8acca6991;hp=ca71d2809a46b9c0a2f75bf0d13ddb3c3b8cd549;hb=b19ba85c6ec3504a66b33243cfb43599d8c298a7;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/rts/Task.h b/rts/Task.h index ca71d28..3b7a08e 100644 --- a/rts/Task.h +++ b/rts/Task.h @@ -170,6 +170,7 @@ extern Task *all_tasks; // void initTaskManager (void); void stopTaskManager (void); +void freeTaskManager (void); // Create a new Task for a bound thread // Requires: sched_mutex. @@ -190,7 +191,13 @@ INLINE_HEADER void taskEnter (Task *task); // mainly for stats-gathering purposes. // Requires: sched_mutex. // -void taskStop (Task *task); +void workerTaskStop (Task *task); + +// Record the time spent in this Task. +// This is called by workerTaskStop() but not by boundTaskExiting(), +// because it would impose an extra overhead on call-in. +// +void taskTimeStamp (Task *task); // Put the task back on the free list, mark it stopped. Used by // forkProcess().