If you want to make progress on this you'll need to
a) build a simulator image (instructions on the blog) b) set-up a test case in the simulator to exercise the cedeToHigherPriorityThreads logic and replicate the bug c) have a go at rewriting cedeToHigherPriorityThreads and/or threadSwitchIfNecessary:from: to do the right thing.
Hm, I have no idea how to set up such a test case meaningfully. This seems like one of those situations where you'd use a "plugin simulator" (like the one for BitBlt) that relies on the behavior you're debugging already working properly as simulation support in the simulation host.
-C
-- Craig Latta netjam.org +31 6 2757 7177 (SMS ok) + 1 415 287 3547 (no SMS)