Boost logo

Boost Users :

Subject: Re: [Boost-users] condition_variable::timed_wait doesn't wait
From: tom fogal (tfogal_at_[hidden])
Date: 2009-03-09 14:42:01

Daniele Barzotti <daniele.barzotti_at_[hidden]> writes:
> Hi!
> I'm trying to use condition_variable::timed_wait without success.
> Using the following code, the timed_wait returns immediatly also if
> Receive() is never called.
> Where I wrong?

I haven't used boost's locking mechanisms yet, but POSIX condvars
don't protect against spurious wakes. Thus,

> //wait for an answer..
> bool ready = _cond.timed_wait(lock, xt, boost::lambda::var(_data_ready));

you probably want this in a loop,

    while(!_data_ready) {
        _cond.timed_wait(... _data_ready);



Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at