summaryrefslogtreecommitdiffstats
path: root/Lib/asyncore.py
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2002-03-08 18:19:59 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2002-03-08 18:19:59 (GMT)
commitcc5f5b2686be248b7d78adfd5b15fba6a69ab7d1 (patch)
treeab608d5aeedc9ce704b884b77fba4f3692cec26b /Lib/asyncore.py
parent1bf71172f8e1acfce05d8443e3998c425974aeef (diff)
downloadcpython-cc5f5b2686be248b7d78adfd5b15fba6a69ab7d1.zip
cpython-cc5f5b2686be248b7d78adfd5b15fba6a69ab7d1.tar.gz
cpython-cc5f5b2686be248b7d78adfd5b15fba6a69ab7d1.tar.bz2
[Bug #517554] When a signal happens during the select call in
asyncore.poll, the select fails with EINTR, which the code catches. However, the code fails to clear the r/w/e arrays (like poll3 does), which means it acts as if every descriptor had received all possible events. Bug report and patch by Cesar Eduardo Barros
Diffstat (limited to 'Lib/asyncore.py')
-rw-r--r--Lib/asyncore.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index e79593a..fe24977 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -80,6 +80,7 @@ def poll (timeout=0.0, map=None):
except select.error, err:
if err[0] != EINTR:
raise
+ r = []; w = []; e = []
if DEBUG:
print r,w,e