projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2006-01-18 10:06:36 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
Schedule.c
diff --git
a/ghc/rts/Schedule.c
b/ghc/rts/Schedule.c
index
8fe711a
..
c4b253f
100644
(file)
--- a/
ghc/rts/Schedule.c
+++ b/
ghc/rts/Schedule.c
@@
-633,8
+633,8
@@
run_thread:
// immediately and return to normaility.
if (ret == ThreadBlocked) {
IF_DEBUG(scheduler,
// immediately and return to normaility.
if (ret == ThreadBlocked) {
IF_DEBUG(scheduler,
- debugBelch("--<< thread %d (%s) stopped: blocked\n",
- t->id, whatNext_strs[t->what_next]));
+ sched_belch("--<< thread %d (%s) stopped: blocked\n",
+ t->id, whatNext_strs[t->what_next]));
continue;
}
#endif
continue;
}
#endif
@@
-2088,9
+2088,13
@@
forkProcess(HsStablePtr *entry
}
RELEASE_LOCK(&sched_mutex);
}
RELEASE_LOCK(&sched_mutex);
+ cap->suspended_ccalling_tasks = NULL;
+
#if defined(THREADED_RTS)
// wipe our spare workers list.
cap->spare_workers = NULL;
#if defined(THREADED_RTS)
// wipe our spare workers list.
cap->spare_workers = NULL;
+ cap->returning_tasks_hd = NULL;
+ cap->returning_tasks_tl = NULL;
#endif
cap = rts_evalStableIO(cap, entry, NULL); // run the action
#endif
cap = rts_evalStableIO(cap, entry, NULL); // run the action