Commits

Mark Dickinson  committed 0e4529d

Issue #5798: Handle select.poll flag oddities properly on OS X.
This fixes test_asynchat and test_smtplib failures on OS X.
(Backport of r73182 from trunk.)

  • Participants
  • Parent commits b3fdd44
  • Branches 2.6

Comments (0)

Files changed (2)

File Lib/asyncore.py

             obj.handle_read_event()
         if flags & select.POLLOUT:
             obj.handle_write_event()
+        if flags & select.POLLPRI:
+            obj.handle_expt_event()
         if flags & (select.POLLHUP | select.POLLERR | select.POLLNVAL):
             obj.handle_close()
-        if flags & select.POLLPRI:
-            obj.handle_expt_event()
+    except socket.error, e:
+        if e.args[0] not in (EBADF, ECONNRESET, ENOTCONN, ESHUTDOWN,
+ECONNABORTED):
+            obj.handle_error()
+        else:
+            obj.handle_close()
     except _reraised_exceptions:
         raise
     except:
 
 (editors: check NEWS.help for information about editing NEWS using ReST.)
 
+What's New in Python 2.6.6?
+===========================
+
+*Release date: XXXX-XX-XX*
+
+Library
+-------
+
+- Issue #5798: Handle select.poll flag oddities properly on OS X.
+  This fixes test_asynchat and test_smtplib failures on OS X.
+
+
 What's New in Python 2.6.6 rc 1?
 ================================