From c370a1fdc78dadcf8a90bf47af0440ec76fe8f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 19 Oct 2010 22:32:37 +0200 Subject: [PATCH] Handle timeout in SocketServer for Python < 2.6 for issue1731 --- trytond/protocols/jsonrpc.py | 2 ++ trytond/protocols/webdav.py | 2 ++ trytond/protocols/xmlrpc.py | 2 ++ 3 files changed, 6 insertions(+) diff --git a/trytond/protocols/jsonrpc.py b/trytond/protocols/jsonrpc.py index be2e29d88d..0f0b0f7ed7 100644 --- a/trytond/protocols/jsonrpc.py +++ b/trytond/protocols/jsonrpc.py @@ -279,6 +279,8 @@ class SimpleThreadedJSONRPCServer(SocketServer.ThreadingMixIn, timeout = 1 def server_bind(self): + # Python < 2.6 doesn't handle self.timeout + self.socket.settimeout(1) self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) SimpleJSONRPCServer.server_bind(self) diff --git a/trytond/protocols/webdav.py b/trytond/protocols/webdav.py index 5e8813f82b..fcb71568ac 100644 --- a/trytond/protocols/webdav.py +++ b/trytond/protocols/webdav.py @@ -81,6 +81,8 @@ class BaseThreadedHTTPServer(SocketServer.ThreadingMixIn, max_children = CONFIG['max_thread'] def server_bind(self): + # Python < 2.6 doesn't handle self.timeout + self.socket.settimeout(1) self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) BaseHTTPServer.HTTPServer.server_bind(self) diff --git a/trytond/protocols/xmlrpc.py b/trytond/protocols/xmlrpc.py index deedcc690a..7b4ef6d613 100644 --- a/trytond/protocols/xmlrpc.py +++ b/trytond/protocols/xmlrpc.py @@ -189,6 +189,8 @@ class SimpleThreadedXMLRPCServer(SocketServer.ThreadingMixIn, timeout = 1 def server_bind(self): + # Python < 2.6 doesn't handle self.timeout + self.socket.settimeout(1) self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) SimpleXMLRPCServer.SimpleXMLRPCServer.server_bind(self)