// Test program that allows to verify whether Drd works fine for programs that // use the boost::thread, boost::mutex and boost::condition classes. #include <boost/thread/condition.hpp> #include <boost/thread/mutex.hpp> #include <boost/thread/thread.hpp> #include <iostream> static boost::condition s_cva; static boost::mutex s_m; static void thread_func(void) { std::cerr << "Thread 2.\n"; boost::mutex::scoped_lock sl(s_m); s_cva.notify_all(); s_cva.wait(sl); } int main(int argc, char** argv) { std::cerr << "Thread 1.\n"; boost::mutex::scoped_lock sl(s_m); boost::thread t(thread_func); s_cva.wait(sl); s_cva.notify_all(); sl.unlock(); t.join(); std::cerr << "Finished.\n"; return 0; }