|
Threads-Devel : |
Subject: Re: [Threads-devel] Fwd: cond.timed_wait() returns way after deadline?
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2009-07-09 09:56:28
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thursday 09 July 2009, Frank Mori Hess wrote:
> On Thursday 09 July 2009, Stefan Steuerwald wrote:
> >
> > Sorry, right. It looks like this:
> >
> > unique_lock<mutex> lock(mut);
> > // some variable updates here
> > lock.unlock();
> > cond.notify_all();
>
> Is there any reason you unlock before calling notify_all? I know it is
> supposed to work, but you could in principle go back to waiting after a
> notify if the predicate is made true by one thread then a different thread
> makes if false again before the timed_wait receives the notify and
> reacquires the mutex.
Err, nevermind. It seems if two threads are toggling the predicate moving the
notify inside the scoped lock still wouldn't help.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkpV9wwACgkQ5vihyNWuA4XfsQCgiX7rgJXQatH6A8Xi6wx86FgE
JDoAoKA3qE3CqXkVUnnQOpssAQNL+472
=H8H5
-----END PGP SIGNATURE-----