Hi,

Does anyone know the reason for the behavior in the following example program?

This example attempts to simulate the scenario where two threads wait on a third thread.  However, I realize that the following is actually one thread waiting on a second thread twice.

Regards,
Jason

My Environment: MSVC 8.0, boost v1.33.1

#include <boost/thread/thread.hpp>
#include <boost/thread/xtime.hpp>

void f()
{
}

void main()
{
    boost::thread t(f);
    t.join();
    t.join(); // Causes an assertion
}