
Anthony Williams schrieb:
OK. I can't reproduce the problem here, but looking at the code with fresh eyes, there might be a bug in the code that tries to avoid spurious wakes. Here's something to try: comment out the
while(!woken)
on line 175 of boost/thread/win32/condition_variable.hpp
This will increase the incidence of spurious wakes, but might fix the problem. If the problem is reproducible without the change, and this change fixes it, then I need to investigate the new condition variable code more thoroughly.
With the line, I can reproduce it, although not always (maybe 2 out of 3 runs show it). Without the line, I had 15+ runs without any problem (with heavily varying system load, from totally idle to fully loaded, debug and release tested). Either your fix reduces the probability of the error dramatically or it even fixes it ;) If there is something more I can test, let me know. Thanks, Anteru