]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
backport akuchling's checkin of
authorMichael W. Hudson <mwh@python.net>
Fri, 15 Mar 2002 10:32:07 +0000 (10:32 +0000)
committerMichael W. Hudson <mwh@python.net>
Fri, 15 Mar 2002 10:32:07 +0000 (10:32 +0000)
    revision 1.29 of asyncore.py

[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

Lib/asyncore.py

index 1e5470ade350b84f68559af219694bce9caaf236..96cc9cc77c2e66c8fb59604f93c3233116e0eb50 100644 (file)
@@ -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