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 <rep...@bugs.python.org> <http://bugs.python.org/issue29988> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com