Commit 02019841 authored by simonmar's avatar simonmar
Browse files

[project @ 2005-10-27 15:17:11 by simonmar]

unpark_tso: call unblockOne() instead of doing the job inline.  This
properly migrates the thread, setting its task to point back to the
right capability, if necessary.
parent 958924a2
......@@ -328,8 +328,7 @@ static void unpark_tso(Capability *cap, StgTSO *tso) {
// if it decides to do so when it is scheduled.
if (tso -> why_blocked == BlockedOnSTM) {
TRACE("unpark_tso on tso=%p\n", tso);
tso -> why_blocked = NotBlocked;
pushOnRunQueue(cap,tso);
unblockOne(cap,tso);
} else {
TRACE("spurious unpark_tso on tso=%p\n", tso);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment