catch closed socket during finish

This commit is contained in:
Clay Gerrard
2012-12-08 15:28:37 -08:00
parent cc73169f5b
commit fdcce5e0c2

View File

@@ -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()