Kaydet (Commit) 9391943e authored tarafından Thomas Heller's avatar Thomas Heller

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.
üst b36230be
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment