From fdcce5e0c2120d72eeaacad27e4dba7513ab1bac Mon Sep 17 00:00:00 2001 From: Clay Gerrard Date: Sat, 8 Dec 2012 15:28:37 -0800 Subject: [PATCH] catch closed socket during finish --- eventlet/wsgi.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py index e637f99..c8f20b2 100644 --- a/eventlet/wsgi.py +++ b/eventlet/wsgi.py @@ -423,7 +423,12 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler): return env def finish(self): - BaseHTTPServer.BaseHTTPRequestHandler.finish(self) + try: + BaseHTTPServer.BaseHTTPRequestHandler.finish(self) + except socket.error, e: + # Broken pipe, connection reset by peer + if get_errno(e) not in BROKEN_SOCK: + raise greenio.shutdown_safe(self.connection) self.connection.close()