On Aug 23, 2012, at 6:27 AM, erik quanstrom <quans...@quanstro.net> wrote: > any time you use sleep/wakeup, you're going to have to deal with > spurious wakeups. it does not matter which rendezvous structure > you use. it doesn't matter if it's shared or not. it's perfectly valid > for sleep to return for no reason at all!
Indeed. One way to catch sleep() errors is to change wakeup() to wake *everyone* up.