Richard Oudkerk added the comment:
IMHO
1) It should check all predicates.
2) It should return a list of ready conditions.
3) It should *not* accept a list of conditions.
4) from_condition() should be removed.
Also notify() should try again if releasing a waiter raises RuntimeError
because it has already been released. Otherwise notify() can be a noop even
when there are threads waiting on the condition.
I would also put
for cond in conditions:
cond._remove_waiter(waiter)
in wait_for_any() in to a finally clause in case the wait was interrupted by
KeyboardInterrupt. (Accounting for KeyboardInterrupt everywhere is not
feasible, but for blocking calls which can be interrupted I think we should
try.)
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue18078>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com