当我尝试中断正在等待条件变量的线程时,我得到以下断言:
unsigned const retval(win32::WaitForSingleObject(sem, ::boost::detail::win32::infinite));
BOOST_VERIFY( 0 == retval || ::boost::detail::win32::wait_abandoned == retvalfile );
...\boost\thread\win32\basic_timed_mutex.hpp, line 85
显然前面的代码返回WAIT_FAILED - 这种提升正确的行为,或者我的代码有问题吗?
如果我在检查中也考虑了WAIT_FAILED,那么一切都顺利进行。我在boost trac上也发现了类似的错误。