This commit is contained in:
Kovid Goyal 2015-06-05 14:18:21 +05:30
parent 131d18eec7
commit 32be03b694

View File

@ -455,13 +455,15 @@ class ServerLoop(object):
self.log.error('Listening socket was unexpectedly terminated') self.log.error('Listening socket was unexpectedly terminated')
return return
except (select.error, socket.error) as e: except (select.error, socket.error) as e:
if e.errno in socket_errors_eintr: # select.error has no errno attribute. errno is instead
# e.args[0]
if getattr(e, 'errno', e.args[0]) in socket_errors_eintr:
return return
for s, conn in tuple(self.connection_map.iteritems()): for s, conn in tuple(self.connection_map.iteritems()):
try: try:
select.select([s], [], [], 0) select.select([s], [], [], 0)
except (select.error, socket.error): except (select.error, socket.error) as e:
if e.errno not in socket_errors_eintr: if getattr(e, 'errno', e.args[0]) not in socket_errors_eintr:
self.close(s, conn) # Bad socket, discard self.close(s, conn) # Bad socket, discard
return return