Charles-François Natali <neolo...@free.fr> added the comment: >> The Condition variables are canonically prone to "spurious wakeups" >> and "stolen wakeups". > > No, they aren't. Just because POSIX says they are doesn't mean *our* > condition variables are the same. Spurious wakeups are an annoyance, and > our implementation AFAICT never exhibited them.
I agree with Antoine. Spurious wakeups are an implementation issue (mainly has to do with efficiency on SMP systems and interrupted syscalls), but are definitely not a part of the "standard" API. Since our implementation doesn't exhibit this problem, there's no reason to scare and confuse people. For example, our locks are special in the sense that they can be released by a thread other than the one that acquired it, etc, and this behavior is documented. However, while I think the spurious wakeups reference could be removed, I think that the advice of repeatedly chcking the invariant shoud be kept, because it is always desirable (stolen wakeup, and better logic). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8799> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com