diff --git a/include/boost/thread/pthread/condition_variable.hpp b/include/boost/thread/pthread/condition_variable.hpp index 754f0ac3..52c156bc 100644 --- a/include/boost/thread/pthread/condition_variable.hpp +++ b/include/boost/thread/pthread/condition_variable.hpp @@ -143,7 +143,7 @@ namespace boost while (!pred()) { if(!timed_wait(m, wait_until)) - return false; + return pred(); } return true; } diff --git a/include/boost/thread/pthread/condition_variable_fwd.hpp b/include/boost/thread/pthread/condition_variable_fwd.hpp index ca45e54b..1d1fbdf4 100644 --- a/include/boost/thread/pthread/condition_variable_fwd.hpp +++ b/include/boost/thread/pthread/condition_variable_fwd.hpp @@ -41,7 +41,7 @@ namespace boost while (!pred()) { if(!timed_wait(m, wait_until)) - return false; + return pred(); } return true; } diff --git a/include/boost/thread/win32/condition_variable.hpp b/include/boost/thread/win32/condition_variable.hpp index ccf29b22..beebcf62 100644 --- a/include/boost/thread/win32/condition_variable.hpp +++ b/include/boost/thread/win32/condition_variable.hpp @@ -186,7 +186,7 @@ namespace boost while (!pred()) { if(!do_wait(m, wait_until)) - return false; + return pred(); } return true; }