Nick Coghlan added the comment:

I think you're agreeing with me - we can make synchronous context managers 
meaningfully more signal safe (at least for CMs implemented in C, or 
precompiled with Cython), but for asynchronous context managers, the only 
meaningful defense available is to replace the default SIGINT handler with one 
that routes the signal to the event loop instead of trying to handle it in the 
interpreter's eval loop.

The latter approach does mean it will be more difficult to interrupt a runaway 
non-cooperative coroutine, but that's going to be a necessary trade-off in 
order to allow the event loop to reliably manage a graceful shutdown in the 
face of KeyboardInterrupt.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue29988>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to