From b04d0743419d35486e53ca755967072055d84466 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Thu, 23 Jun 2011 17:00:55 +1200 Subject: [PATCH] Repair a problem that sometimes caused SSL connections to peg the CPU. --- libmproxy/proxy.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py index 3f81096d9..77498842d 100644 --- a/libmproxy/proxy.py +++ b/libmproxy/proxy.py @@ -472,7 +472,10 @@ class FileLike: def read(self, length): result = '' while len(result) < length: - data = self.o.read(length) + try: + data = self.o.read(length) + except AttributeError: + break if not data: break result += data @@ -596,7 +599,7 @@ class ProxyHandler(SocketServer.StreamRequestHandler): return self.send_response(response) except IOError: - pass + cc.close = True except ProxyError, e: err = Error(request, e.msg) err.send(self.mqueue) @@ -714,7 +717,7 @@ class ProxyHandler(SocketServer.StreamRequestHandler): self.wfile.write('\n%d %s\n\n' '\n%s\n\n' % (code, response, body)) self.wfile.flush() - except IOError: + except: pass