Terry J. Reedy added the comment:
I verified on Win 10 with 3.6.1. What system are you running on?
An automatic unittest test would be nice, but I cannot imagine how to write
one. Even a human-verified htest (IDLE private term) would be good. Maybe I
should write a live-interaction test script.
^C is bound to pyshell.PyShell.cancel_callback. When code is executing, this
calls pyshell.ModifiedInterpreter.interrupt_subprocess. In a new thread, this
starts pyshell.ModifiedInterpreter.__request_interrupt. I verified the calls
thus far, with debug prints, while the user execution thread is sleeping.
__request_interrupt sends vua rpc ('exec', 'interrupt_the_server').
'interrupt_the_server' refers to a method of run.Executor:
if interruptable:
_thread.interrupt_main()
Here I am unsure which thread this executes in and when. Interrupting "while
True: a=1" is no problem. Does interrup_main not work while the main thread is
sleeping, or does the above not get executed?
----------
stage: -> needs patch
type: -> behavior
versions: +Python 3.6, Python 3.7
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29926>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com