Comment #3 on issue 729 by [email protected]: V8's preemption mechanism (Locker::StartPreemption()) is broken
http://code.google.com/p/v8/issues/detail?id=729
Agreed. In fact, pre-emption doesn't work on my machine at all if I leave it as Sleep(0). The only time I can get the lock on another thread is if I give up the current lock on the active thread. Sleep(x), where x is > 0, does give more predictable behaviour but it is definitely a hack that only gives a blocking thread a better chance of acquiring the lock before the yielding one does. It certainly doesn't solve the problem.
-- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
