mirror of https://github.com/python/cpython.git
This fixes bug 5798 on OS X.
This should also fix disconnect behavior cross-platform.
This commit is contained in:
parent
8df921b46b
commit
a810bc736c
|
@ -101,10 +101,16 @@ def readwrite(obj, flags):
|
||||||
obj.handle_read_event()
|
obj.handle_read_event()
|
||||||
if flags & select.POLLOUT:
|
if flags & select.POLLOUT:
|
||||||
obj.handle_write_event()
|
obj.handle_write_event()
|
||||||
if flags & (select.POLLHUP | select.POLLERR | select.POLLNVAL):
|
|
||||||
obj.handle_close()
|
|
||||||
if flags & select.POLLPRI:
|
if flags & select.POLLPRI:
|
||||||
obj.handle_expt_event()
|
obj.handle_expt_event()
|
||||||
|
if flags & (select.POLLHUP | select.POLLERR | select.POLLNVAL):
|
||||||
|
obj.handle_close()
|
||||||
|
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:
|
except _reraised_exceptions:
|
||||||
raise
|
raise
|
||||||
except:
|
except:
|
||||||
|
|
Loading…
Reference in New Issue