Skip to content
Snippets Groups Projects
Commit 839a1ed2 authored by Anael Beutot's avatar Anael Beutot Committed by Anaël Beutot
Browse files

Handle accept in a loop and catch more errors on accept

parent ef9aab1f
No related branches found
No related tags found
No related merge requests found
......@@ -70,18 +70,21 @@ class RpcServer(object):
def _handle(self, watcher, revents):
# Collect offline connections:
self._collect_connection()
try:
sock, address = self._sock.accept()
except socket.error as err:
if err.errno in self.NONBLOCKING_ERRORS:
return
else:
self.logger.warn('Error while accepting client: %s', err)
return
self.logger.info('New incoming connection from %s:%s', *address)
conn = self._wrap(sock)
self.register(conn)
while True:
try:
sock, address = self._sock.accept()
except socket.error as err:
if err.errno in self.NONBLOCKING_ERRORS:
return
if err.errno in (errno.ECONNABORTED, errno.EPROTO, errno.EINTR):
pass
else:
self.logger.warn('Error while accepting client: %s', err)
return
self.logger.info('New incoming connection from %s:%s', *address)
conn = self._wrap(sock)
self.register(conn)
def _collect_connection(self):
""" Collect the offlines connections.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment