From: Michael W. Hudson Date: Fri, 15 Mar 2002 10:32:07 +0000 (+0000) Subject: backport akuchling's checkin of X-Git-Tag: v2.2.1c1~50 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8b23905d92efb1f4d0156b1ebef3ef01b743ad84;p=thirdparty%2FPython%2Fcpython.git backport akuchling's checkin of 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 --- diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 1e5470ade350..96cc9cc77c2e 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