This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mdehoon
Recipients
Date 2004-10-25.12:31:42
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
PyOS_InputHook is a variable points to a user-defined
function (e.g. in an extension module) that is to be
called periodically when Python is idle (e.g. waiting
for user input). It is used for example by Tkinter to
get messages delivered to the graphics window. For
Python run from the command prompt, PyOS_InputHook (if
not NULL) is called ten times per second.

In IDLE, when a subprocess is being used (so the
default behavior), the main process and the subprocess
each have their own PyOS_InputHook. The problem is that
the subprocess (the one that runs the user's commands)
does not call PyOS_InputHook.

So if a user (in IDLE) imports an extension module that
sets PyOS_InputHook, the extension module will not run
correctly as PyOS_InputHook is being ignored.

The solution to this problem is probably quite simple,
maybe just a line

if (PyOS_InputHook) PyOS_InputHook();

but I am not familiar enough with threads to be able to
figure out what the best location for such a line would
be. I tried putting it inside the loop in
PyEval_EvalFrame in Python/ceval.c, which solved the
problem on some platforms but not on others.

--Michiel.
History
Date User Action Args
2007-08-23 14:27:00adminlinkissue1053687 messages
2007-08-23 14:27:00admincreate