Steven, hi!
thanks for the answer!
On Thu, Mar 19, 2009 at 12:13 AM, Steven Watanabe
AMDG
wait returns when the predicate is true, so the docs are correct.
In Christ, Steven Watanabe
Did you test it? In my case wait returns when the predicate is false. I use an empty circular buffer and call from the same thread this code: using namespace boost; scoped_lock lock(mutex_); wait_for_free_slots_.wait(lock, bind(&buffer_type::full, buffer_)); //wait_for_free_slots_ is a condition variable buffer_.push_back(item); wait_for_items_.notify_all(); This line returns immediately wait_for_free_slots_.wait(lock, bind(&buffer_type::full, buffer_)); //wait_for_free_slots_ is a condition variable If you inverse the predicate it blocks forever. Thanks, Ovanes