projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add noDuplicate#
[ghc-hetmet.git]
/
rts
/
Schedule.c
diff --git
a/rts/Schedule.c
b/rts/Schedule.c
index
a7a0f33
..
e328b5b
100644
(file)
--- a/
rts/Schedule.c
+++ b/
rts/Schedule.c
@@
-643,7
+643,7
@@
run_thread:
t->saved_errno = errno;
#if mingw32_HOST_OS
// Similarly for Windows error code
t->saved_errno = errno;
#if mingw32_HOST_OS
// Similarly for Windows error code
- SetLastError(t->saved_winerror);
+ t->saved_winerror = GetLastError();
#endif
#if defined(THREADED_RTS)
#endif
#if defined(THREADED_RTS)
@@
-2195,6
+2195,10
@@
forkProcess(HsStablePtr *entry
cap->returning_tasks_tl = NULL;
#endif
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);
cap = rts_evalStableIO(cap, entry, NULL); // run the action
rts_checkSchedStatus("forkProcess",cap);