Eryk Sun <[email protected]> added the comment:
> is there a bulletproof way to guarantee that `self._stop()` gets
> called if the acquire_and_release() succeeds?
I don't think it's critical. But we still should deal with the common case in
Windows in which a KeyboardInterrupt is raised immediately after the method
returns. For example:
try:
if lock.acquire_and_release(block, timeout):
self._stop
except:
if not lock.locked():
self._stop()
The proposed acquire_and_release() method can also be used in
threading._shutdown(), when it iterates _shutdown_locks to join non-daemon
threads.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46726>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com