From 9391943e08825567cc5167d8158d06c2201fb3e7 Mon Sep 17 00:00:00 2001 From: Thomas Heller Date: Tue, 24 Sep 2002 17:44:40 +0000 Subject: [PATCH] backport of the checkin of revision 1.36 of asyncore.py On Windows, select() does not accept empty lists. Patch suggested by Guido, fixes SF item 611464. Bugfix candidate, will backport to release22-maint myself. --- Lib/asyncore.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 96cc9cc77c2e..bae416b56063 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -50,6 +50,7 @@ import exceptions import select import socket import sys +import time import os from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \ @@ -75,12 +76,15 @@ def poll (timeout=0.0, map=None): r.append (fd) if obj.writable(): w.append (fd) - try: - r,w,e = select.select (r,w,e, timeout) - except select.error, err: - if err[0] != EINTR: - raise - r = []; w = []; e = [] + if [] == r == w == e: + time.sleep(timeout) + else: + try: + r,w,e = select.select (r,w,e, timeout) + except select.error, err: + if err[0] != EINTR: + raise + r = []; w = []; e = [] if DEBUG: print r,w,e -- 2.47.3