except Exception:
future.set_exc_info(sys.exc_info())
else:
- Runner(result, future, yielded)
+ _futures_to_runners[future] = Runner(result, future, yielded)
+ yielded = None
try:
return future
finally:
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):
- code = compile(code, '<string>', 'exec', dont_inherit=True)
- exec(code, glob, loc)
""")
else:
exec("""