Index: boost/thread/condition.hpp =================================================================== RCS file: /home/src/boost/boost/thread/condition.hpp,v retrieving revision 1.1.1.4 diff -r1.1.1.4 condition.hpp 76a77,78 > struct null_mutex; > 131a134,138 > void do_wait(null_mutex &) > { > throw cv_wait_with_null_mutex_error(); > } > 155a163,167 > } > > bool do_timed_wait(null_mutex &) > { > throw cv_wait_with_null_mutex_error(); Index: boost/thread/exceptions.hpp =================================================================== RCS file: /home/src/boost/boost/thread/exceptions.hpp,v retrieving revision 1.1.1.3 diff -r1.1.1.3 exceptions.hpp 94a95,104 > class BOOST_THREAD_DECL cv_wait_with_null_mutex_error : public thread_exception > { > public: > virtual const char* what() const throw() > { > return "boost::cv_wait_with_null_mutex_error"; > } > }; > > Index: boost/thread/mutex.hpp =================================================================== RCS file: /home/src/boost/boost/thread/mutex.hpp,v retrieving revision 1.1.1.3 diff -r1.1.1.3 mutex.hpp 158a159,178 > class BOOST_THREAD_DECL null_mutex > : private noncopyable > { > public: > friend class detail::thread::lock_ops; > > typedef detail::thread::scoped_lock scoped_lock; > typedef detail::thread::scoped_try_lock scoped_try_lock; > typedef detail::thread::scoped_timed_lock scoped_timed_lock; > > private: > struct cv_state { }; > void do_lock() { } > bool do_trylock() { return true; } > bool do_timedlock(xtime const &) { return true; } > void do_unlock() { } > void do_lock(cv_state &) { } > void do_unlock(cv_state &) { } > }; >