Message87470
Here's an option that doesn't use .connected, which some people have
expressed distaste for.
def readwrite(obj, flags):
try:
if flags & select.POLLIN:
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()
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:
obj.handle_error()
It works on OS X and should work just as well on other platforms. |
|
Date |
User |
Action |
Args |
2009-05-08 20:57:50 | josiahcarlson | set | recipients:
+ josiahcarlson, facundobatista, mark.dickinson, alanmcintyre, giampaolo.rodola, donmez, MrJean1, r.david.murray |
2009-05-08 20:57:50 | josiahcarlson | set | messageid: <1241816270.56.0.297536045965.issue5798@psf.upfronthosting.co.za> |
2009-05-08 20:57:49 | josiahcarlson | link | issue5798 messages |
2009-05-08 20:57:49 | josiahcarlson | create | |
|