Merge remote-tracking branch 'rhettg/master' into work

This commit is contained in:
Ben Darnell 2012-12-08 19:21:25 -05:00
commit ec55acbefc
1 changed files with 14 additions and 6 deletions

View File

@ -316,12 +316,20 @@ class _HTTPConnection(object):
try:
yield
except Exception, e:
gen_log.warning("uncaught exception", exc_info=True)
self._run_callback(HTTPResponse(self.request, 599, error=e,
request_time=self.io_loop.time() - self.start_time,
))
if hasattr(self, "stream"):
self.stream.close()
if self.final_callback:
gen_log.warning("uncaught exception", exc_info=True)
self._run_callback(HTTPResponse(self.request, 599, error=e,
request_time=self.io_loop.time() - self.start_time,
))
if hasattr(self, "stream"):
self.stream.close()
else:
# If our callback has already been called, we are probably
# catching an exception that is not caused by us but rather
# some child of our callback. Rather than drop it on the floor,
# pass it along.
raise
def _on_close(self):
if self.final_callback is not None: