From: Andrew M. Kuchling Date: Fri, 8 Mar 2002 18:19:59 +0000 (+0000) Subject: [Bug #517554] When a signal happens during the select call in X-Git-Tag: v2.3c1~6550 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc5f5b2686be248b7d78adfd5b15fba6a69ab7d1;p=python [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 --- diff --git a/Lib/asyncore.py b/Lib/asyncore.py index e79593a7c6..fe249770b3 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