[Patches] [ python-Patches-1190163 ] Minimal cleanup of run.py

SourceForge.net noreply at sourceforge.net
Tue Apr 26 12:50:30 CEST 2005


Patches item #1190163, was opened at 2005-04-26 19:50
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1190163&group_id=5470

Category: IDLE
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Michiel de Hoon (mdehoon)
Assigned to: Nobody/Anonymous (nobody)
Summary: Minimal cleanup of run.py

Initial Comment:
In the main function in run.py in Lib/idlelib, we have

try:
    seq, request = rpc.request_queue.get(0)
except Queue.Empty:
    time.sleep(0.05)
    continue

The get method of rpc.request_queue already has the
option of a timeout, so we can use that instead of
inlining time.sleep:

try:
    seq, request = rpc.request_queue.get(block=True, 
                                                      
     timeout=0.05)
except Queue.Empty:
    continue

resulting in a (small) simplication of the code. The
patch was tested on Windows, Linux, and Mac OS X.

In case you are wondering why I care about this:
My real interest is in PyOS_InputHook, a pointer to a
function which is called ten times per second when
Python is idle (e.g., waiting for user input).
Currently, calls to PyOS_InputHook are missing in some
cases where Python goes idle. I am going through the
code to fix this. Now, since both the original code in
run.py and rpc.request_queue.get cause Python to go
idle (by calling the sleep function), it means that I
would have to fix both cases. By making use of the
existing code in rpc.request_queue.get, I need to fix
this routine only (which I will do in a later patch),
and avoids having calls to PyOS_InputHook all over the
place.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1190163&group_id=5470


More information about the Patches mailing list