diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2002-03-08 18:19:59 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2002-03-08 18:19:59 (GMT) |
commit | cc5f5b2686be248b7d78adfd5b15fba6a69ab7d1 (patch) | |
tree | ab608d5aeedc9ce704b884b77fba4f3692cec26b | |
parent | 1bf71172f8e1acfce05d8443e3998c425974aeef (diff) | |
download | cpython-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
-rw-r--r-- | Lib/asyncore.py | 1 |
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 |