From 756f547b9a4b93c4eab1bb05dbf41c33e5924554 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 24 Jul 2010 02:24:55 +0000 Subject: #9032: XML-RPC client: Transport.request() retries on EPIPE error The EPIPE error occurs when the server closes the socket and the client sends a "big" XML-RPC request (I don't know exactly the size threshold). request() just have to ignore the error because single_request() closes the socket on error, and so the next call to single_request() will open a new socket. Remove also a comment in the HTTP client because it's now wrong: see r70643 and issue #5542. --- Lib/xmlrpc/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Lib/xmlrpc') diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index a72908cb97..d9c43c24b4 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1135,7 +1135,7 @@ class Transport: try: return self.single_request(host, handler, request_body, verbose) except socket.error as e: - if i or e.errno not in (errno.ECONNRESET, errno.ECONNABORTED): + if i or e.errno not in (errno.ECONNRESET, errno.ECONNABORTED, errno.EPIPE): raise except http.client.BadStatusLine: #close after we sent request if i: -- cgit v1.2.1