Martin Panter added the comment:

I am no Windows expert, but I read in Issue 18597 that Ctrl+C is treated as 
EOF, except that a SIGINT is also sent in the background. This would explain 
why you see an EOFError. The partial traceback may also be from the same 
EOFError. Or both cases could be truncated reports of KeyboardInterrupt chained 
onto EOFError.

I understand the code path for input() may bypass the usual stdin.read() and 
readline() methods. Issue 18597 is about readline(), so it may not be an exact 
duplicate.

See also Issue 17619, which hints that KeyboardInterrupt handling for input() 
was worked on and fixed in 3.3. So why is it broken again in 3.4? A regression 
test would be nice, if at all possible. Does Windows have an equivalent of 
pseudo terminals?

Possibly also related is Issue 13673, about functions (like input) raising an 
exception (like EOFError), when SIGINT has been received. It mentions the 
interpreter completely failing to report the entire traceback, or truncating 
the traceback. It might be worth trying out the patch there. It might also be 
interesting to check sys.last_value in the interactive case.

----------
nosy: +martin.panter

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

Reply via email to