I think you may be right -- that should be while(), not if(). I don't
know what I was thinking (probably I was still getting up to speed on
the finer points of the boost threading model). Conditions are also
not guaranteed to not have spurious wakeups, so you generally need to
embed them in a
I'm trying to get familiar with boost threads, and I was going through
vutil's synqueue.hh and something didn't make sense to me...
let's say that you have an empty queue, and two threads try to call
popOrWait at the same time:
Element popOrWait() {
boost::mutex::scoped_lock l