From: Ɓukasz Langa Date: Tue, 23 May 2017 07:36:23 +0000 (-0700) Subject: [3.6] call remove_done_callback in finally section (GH-1688) (#1755) X-Git-Tag: v3.6.2rc1~129 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=70705e3cdfff6a2c1211456afce99afc3d9ca59b;p=thirdparty%2FPython%2Fcpython.git [3.6] call remove_done_callback in finally section (GH-1688) (#1755) (cherry picked from commit 21b3e04c13212b29e8c35ffc36eed8603fde08f4) --- diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 0df58c5f873d..a4967b854c5e 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -459,7 +459,8 @@ class BaseEventLoop(events.AbstractEventLoop): # local task. future.exception() raise - future.remove_done_callback(_run_until_complete_cb) + finally: + future.remove_done_callback(_run_until_complete_cb) if not future.done(): raise RuntimeError('Event loop stopped before Future completed.')