Index: Misc/NEWS =================================================================== --- Misc/NEWS (revision 83706) +++ Misc/NEWS (working copy) @@ -4,6 +4,18 @@ (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? ================================ Index: Lib/asyncore.py =================================================================== --- Lib/asyncore.py (revision 83706) +++ Lib/asyncore.py (working copy) @@ -103,10 +103,16 @@ 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: