Hello,
which is the expected behaviour of
condition variable wait when unique_lock is not
locked
boost::condition_variable cond;
boost::mutex mut;
bool
data_ready;
void process_data();
void
wait_for_data_to_process()
{
boost::unique_lock<boost::mutex> lock(mut);
while(!data_ready)
{
if (some_condition_or_bug )
{
lock.unlock();
}
cond.wait(lock); //
<<<<<<<< ?????????
}
process_data();
}
Best regards
_____________________
Vicente Juan Botet
Escriba
_______________________________
inline void condition_variable::wait(unique_lock<mutex>&
m)
{
detail::interruption_checker
check_for_interruption(&cond);
BOOST_VERIFY(!pthread_cond_wait(&cond,m.mutex()->native_handle()));
}