Merge with 3.2 :

Issue #14574: Ignore socket errors raised when flushing a connection on close.
This commit is contained in:
Kristján Valur Jónsson 2012-12-26 15:13:29 +00:00
commit c8e7e2bb76
2 changed files with 8 additions and 3 deletions

View File

@ -313,8 +313,8 @@ request.
.. method:: RequestHandler.finish()
Called after the :meth:`handle` method to perform any clean-up actions
required. The default implementation does nothing. If :meth:`setup` or
:meth:`handle` raise an exception, this function will not be called.
required. The default implementation does nothing. If :meth:`setup`
raises an exception, this function will not be called.
.. method:: RequestHandler.handle()

View File

@ -718,7 +718,12 @@ class StreamRequestHandler(BaseRequestHandler):
def finish(self):
if not self.wfile.closed:
self.wfile.flush()
try:
self.wfile.flush()
except socket.error:
# An final socket error may have occurred here, such as
# the local error ECONNABORTED.
pass
self.wfile.close()
self.rfile.close()