]> granicus.if.org Git - python/commitdiff
[Bug #517554] When a signal happens during the select call in
authorAndrew M. Kuchling <amk@amk.ca>
Fri, 8 Mar 2002 18:19:59 +0000 (18:19 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Fri, 8 Mar 2002 18:19:59 +0000 (18:19 +0000)
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 e79593a7c6f05489630b922c4ad000dde084cf95..fe249770b3ee75305036d8cdd509370a23e89d05 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