Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Usage example of boost::condition::timed_wait

Does someone have an example of how to most easily use boost::condition::timed_wait? There are some threads on the topic here, here and here, but none feature a working example. And boost doc is as usual quite sparse.

like image 589
Cookie Avatar asked Aug 16 '11 12:08

Cookie


1 Answers

Actually, I finally found a link with full example here. With a bit of adapting, this seems to be the call.

boost::system_time const timeout=boost::get_system_time()+ boost::posix_time::milliseconds(35000);
boost::mutex::scoped_lock lock(the_mutex);
if(the_condition_variable.timed_wait(lock,timeout,&CondFulfilled))
{
    <cond fulfilled code>
}
else
{
    <timeout code>
}
bool CondFulfilled() { ... }
like image 107
Cookie Avatar answered Sep 30 '22 02:09

Cookie