if self._result is not None:
return self._result
if self._exc_info is not None:
- raise_exc_info(self._exc_info)
+ try:
+ raise_exc_info(self._exc_info)
+ finally:
+ self = None
self._check_done()
return self._result
future.set_exc_info(sys.exc_info())
else:
Runner(result, future, yielded)
+ yielded = None
try:
return future
finally:
except Exception:
self.had_exception = True
exc_info = sys.exc_info()
+ future = None
if exc_info is not None:
try:
return
if not self.handle_yield(yielded):
return
+ yielded = None
finally:
self.running = False
self.future.set_exc_info(sys.exc_info())
if not self.future.done() or self.future is moment:
+ def inner(f):
+ f = None
+ self.run()
self.io_loop.add_future(
- self.future, lambda f: self.run())
+ self.future, inner)
return False
return True
if need_delegate_close:
with _ExceptionLoggingContext(app_log):
delegate.on_connection_close()
+ header_future = None
self._clear_callbacks()
raise gen.Return(True)
if PY3:
exec("""
def raise_exc_info(exc_info):
- raise exc_info[1].with_traceback(exc_info[2])
+ try:
+ raise exc_info[1].with_traceback(exc_info[2])
+ finally:
+ exc_info = None
def exec_in(code, glob, loc=None):
if isinstance(code, str):