Hello,

I've been facing deadlock situations using boost 1.33.1 under Windows and Linux. The problem occurs when boost::condition::notify_one() sometimes does not release the corresponding waiting thread. A second thread that depends on this release eventually becomes locked. The reason for this post is that I could not reproduce this behaviour using Windows threads with VC++ 6.0 nor using pthreads in Suse 10.3 with g++ 4.2.1.

The attached source file contains the implementation with all three libraries. This is actually a simplified version of the original program, which was implemented with the WinAPI and where the deadlock was first observed after the translation to boost threads. The detailed explanation of the program itself and of the problem is also in the attached file.

I was in doubt if I should direct this post to a users list. I just could not find one specific for threads. My apologies in any case.
Any help with this issue will be highly appreciated. Thank you in advance.
Kind regards,

Romulo Pinho
VisionLab - Dept. of Physics
University of Antwerp, Belgium