id summary reporter owner description type status milestone component version severity resolution keywords cc 5829 condition.cpp: condition_impl::notify_all swallows errors from WaitForSingleObject anonymous viboes "condition_impl::notify_all silently swallows errors from WaitForSingleObject. The author got the asserts correct, but took no action on failures. My apologies for throwing a runtime_error. I'm not familiar enogh with boost to know what should be thrown. I also suspect the code should throw earlier than before function exit. Index: condition.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/thread/src/condition.cpp,v retrieving revision 1.21 diff -r1.21 condition.cpp 133,135c133,135 < int res = 0; < res = WaitForSingleObject(reinterpret_cast(m_mutex), INFINITE); < assert(res == WAIT_OBJECT_0); --- > int wait1 = WAIT_OBJECT_0, wait2 = WAIT_OBJECT_0, res = 0; > wait1 = WaitForSingleObject(reinterpret_cast(m_mutex), INFINITE); > assert(wait1 == WAIT_OBJECT_0); 151,152c151,152 < res = WaitForSingleObject(reinterpret_cast(m_gate), INFINITE); < assert(res == WAIT_OBJECT_0); --- > wait2 = WaitForSingleObject(reinterpret_cast(m_gate), INFINITE); > assert(wait2 == WAIT_OBJECT_0); 177a178,183 > > if(wait1 != WAIT_OBJECT_0) > throw std::runtime_error(""Failed to wait on mutex""); > if(wait2 != WAIT_OBJECT_0) > throw std::runtime_error(""Failed to wait on gate""); > " Support Requests closed To Be Determined thread Boost 1.47.0 Problem invalid viboes