Use Queue's blocking feature instead of sleeping in the main
loop.  Patch # 1190163 Michiel de Hoon
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 0670255..afec8e4 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,9 @@
 
 *Release date: XX-XXX-2005*
 
+- run.py: use Queue's blocking feature instead of sleeping in the main
+  loop.  Patch # 1190163 Michiel de Hoon
+
 - Add config-main option to make the 'history' feature non-cyclic.
   Default remains cyclic.  Python Patch 914546 Noam Raphael.
 
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 62f4cce..8adb6f1 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -82,9 +82,8 @@
                     # exiting but got an extra KBI? Try again!
                     continue
             try:
-                seq, request = rpc.request_queue.get(0)
+                seq, request = rpc.request_queue.get(block=True, timeout=0.05)
             except Queue.Empty:
-                time.sleep(0.05)
                 continue
             method, args, kwargs = request
             ret = method(*args, **kwargs)