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

Reply via email to