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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70705e3cdfff6a2c1211456afce99afc3d9ca59b;p=python [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 0df58c5f87..a4967b854c 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.')