[issue31546] PyOS_InputHook is not called when waiting for input() in Windows

2017-09-21 Thread Lam Yuen Hei

New submission from Lam Yuen Hei:

Since python 3.6, PyOS_InputHook is not called when waiting for IO in Windows.

This causes issues with GUI framework like tkinter that relys on PyOS_InputHook 
to handle user interaction.

I attached a test script. When running the script with python 3.5, the tkinter 
window will show up properly. But if you run the script with python 3.6, the 
tkinter window will be frozen. 

I believe the issue is introduced in commit 3929499. In commit 3929499, 
_PyOS_WindowsConsoleReadline is added as the new Windows implementation of 
PyOS_StdioReadline. Originally, PyOS_StdioReadline calls my_fgets to read 
input, and my_fgets will call PyOS_InputHook before the calling the real fgets. 
However, _PyOS_WindowsConsoleReadline calls ReadConsoleW instead of my_fgets to 
read input, and PyOS_InputHook is never called.

The bug is first reported in matplotlib.
https://github.com/matplotlib/matplotlib/issues/9206#issuecomment-331192016

--
components: Windows
files: test_tk.py
messages: 302701
nosy: paul.moore, steve.dower, tim.golden, yhlam, zach.ware
priority: normal
severity: normal
status: open
title: PyOS_InputHook is not called when waiting for input() in Windows
type: behavior
versions: Python 3.6, Python 3.7
Added file: https://bugs.python.org/file47160/test_tk.py

___
Python tracker 
<https://bugs.python.org/issue31546>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31546] PyOS_InputHook is not called when waiting for input() in Windows

2017-09-21 Thread Lam Yuen Hei

Lam Yuen Hei added the comment:

Attach python 3.5 call stack of the test script

--
Added file: https://bugs.python.org/file47161/py35_call_stack.png

___
Python tracker 
<https://bugs.python.org/issue31546>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31546] PyOS_InputHook is not called when waiting for input() in Windows

2017-09-21 Thread Lam Yuen Hei

Lam Yuen Hei added the comment:

Attach python 3.6 call stack of the test script

--
Added file: https://bugs.python.org/file47162/py36_call_stack.png

___
Python tracker 
<https://bugs.python.org/issue31546>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue31546] PyOS_InputHook is not called when waiting for input() in Windows

2017-10-23 Thread Lam Yuen Hei

Lam Yuen Hei  added the comment:

As the fix seems simple, any chance this bug can be fixed in next python 3.6 
maintenance release? It is the major roadblock for my application to upgrade to 
python 3.6. Thanks

--

___
Python tracker 
<https://bugs.python.org/issue31546>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com