Vladimir Matveev <desco...@gmail.com> added the comment:
I agree. From code in threading.Condition.wait looks like if it is interrupted either after calling _release_save and before entering try block or in finally block before calling _acquire_restore - it will leave the lock in non-acquired state. First part in theory can be solved if _release_save is moved into try block and instead of returning saved_state as a result it will accept reference to saved_state local and set it in C code. Second part looks more interesting ... :) ---------- nosy: +v2m _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34486> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com