[project @ 2005-11-08 15:07:08 by simonmar]
authorsimonmar <unknown>
Tue, 8 Nov 2005 15:07:08 +0000 (15:07 +0000)
committersimonmar <unknown>
Tue, 8 Nov 2005 15:07:08 +0000 (15:07 +0000)
commitcbc83989fe39607eec0dcb6a84f6086a9e0bb442
tree663fd3e630de57dac73f8a124f0f09756712559e
parentd3313aea18753dc8c1734be2567fd35c3ae040f5
[project @ 2005-11-08 15:07:08 by simonmar]
SMP bugfix: if the thread we were just running blocked, then we are in
a delicate state - we don't necessarily have access to the TSO we were
just running, because we relinquished it when we put it on whatever
blocking queue it is on.  It might even be running already.

Previously I made the scheduler quickly loop again in this case.
However, I made it loop too quickly: we should be sure to set the
blackholes_need_checking flag if necessary, otherwise we can miss some
wakeups.
ghc/rts/Schedule.c