From 70f23a4c760ad3f9a81ba8107a9d27f60abf1fcd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 23 May 2015 19:11:47 +0530 Subject: [PATCH] ... --- src/calibre/srv/loop.py | 2 +- src/calibre/srv/utils.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index bb3b6e9188..8d3d5308bd 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -638,7 +638,7 @@ class ServerLoop(object): self.pre_activated_socket = None self.setup_socket() - self.socket.listen(self.opts.request_queue_size) + self.socket.listen(5) self.bound_address = ba = self.socket.getsockname() if isinstance(ba, tuple): ba = ':'.join(map(type(''), ba)) diff --git a/src/calibre/srv/utils.py b/src/calibre/srv/utils.py index 507a145095..840d6ef44b 100644 --- a/src/calibre/srv/utils.py +++ b/src/calibre/srv/utils.py @@ -92,12 +92,14 @@ def error_codes(*errnames): ans.discard(None) return ans -socket_error_eintr = error_codes("EINTR", "WSAEINTR") +socket_errors_eintr = error_codes("EINTR", "WSAEINTR") -socket_errors_to_ignore = error_codes( # errors indicating a closed connection +socket_errors_socket_closed = error_codes( # errors indicating a disconnected connection "EPIPE", "EBADF", "WSAEBADF", "ENOTSOCK", "WSAENOTSOCK", + "ENOTCONN", "WSAENOTCONN", + "ESHUTDOWN", "WSAESHUTDOWN", "ETIMEDOUT", "WSAETIMEDOUT", "ECONNREFUSED", "WSAECONNREFUSED", "ECONNRESET", "WSAECONNRESET", @@ -171,6 +173,6 @@ def eintr_retry_call(func, *args, **kwargs): try: return func(*args, **kwargs) except EnvironmentError as e: - if getattr(e, 'errno', None) in socket_error_eintr: + if getattr(e, 'errno', None) in socket_errors_eintr: continue raise