summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-03-05 14:45:50 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-03-05 14:45:50 +0000
commitf70052e9dd0492e2e73e96b54ae97c5ee6bf24a3 (patch)
treebfd6f5588cccdc86a76af291ca1aacfc32ac6725 /rts
parentdf7dc3fa83d03a0ca903d3cd7d23debe045279cd (diff)
downloadhaskell-f70052e9dd0492e2e73e96b54ae97c5ee6bf24a3.tar.gz
forkProcess: startTimer() in the child, because the timer will be reset
Diffstat (limited to 'rts')
-rw-r--r--rts/Schedule.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index b4057591da..e328b5b8cf 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2195,6 +2195,10 @@ forkProcess(HsStablePtr *entry
cap->returning_tasks_tl = NULL;
#endif
+ // On Unix, all timers are reset in the child, so we need to start
+ // the timer again.
+ startTimer();
+
cap = rts_evalStableIO(cap, entry, NULL); // run the action
rts_checkSchedStatus("forkProcess",cap);