
9 Oct
2006
9 Oct
'06
6:28 p.m.
Roland Schwarz wrote:
Peter Dimov wrote:
Ummmm.... why is signal() not enough?
I suspect, because the condition variable could be shared by multiple predicates?
Hmmmm. A timed out waiter can only steal a wakeup if the condition variable has been signal()ed. If it were broadcast()ed, there's no problem, as everyone is woken up and there's nothing to steal. Therefore, a signal() ought to be enough to return the potentially stolen wakeup.