[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.