Mark Shannon added the comment:
If all you need is that
with foo:
pass
guarantees that either both or neither of __enter__ and __exit__ are called,
for C context managers, and only C context managers, then the fix is trivial.
To protect Python code would need a custom context manager wrapper
with ProtectsAgainstInterrupt(user_ctx_mngr()):
do_stuff()
ProtectsAgainstInterrupt would need to be implemented in C and install a custom
signal handler.
----------
nosy: +Mark.Shannon
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29988>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com