From 4410ad50562154aa3894432ec10f0b1452402b03 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 21 Sep 2006 17:02:20 -0400 Subject: [PATCH] Don't traceback on reset-by-peer errors --- sugar/p2p/network.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sugar/p2p/network.py b/sugar/p2p/network.py index ac257bc5..76ea3725 100644 --- a/sugar/p2p/network.py +++ b/sugar/p2p/network.py @@ -179,7 +179,15 @@ class GlibXMLRPCTransport(xmlrpclib.Transport): if not (condition & gobject.IO_IN): return True - errcode, errmsg, headers = h.getreply() + try: + errcode, errmsg, headers = h.getreply() + except socket.error, err: + if err[0] != 104: + raise socket.error(err) + else: + gobject.idle_add(request_cb, RESULT_FAILED, None, user_data) + return False + if errcode != 200: raise xmlrpclib.ProtocolError(host + handler, errcode, errmsg, headers) self.verbose = verbose