From a7007258bc028835a92b3b638f3db61ad8c5e01a Mon Sep 17 00:00:00 2001 From: Andrew Svetlov <andrew.svetlov@gmail.com> Date: Wed, 16 Mar 2022 23:37:04 +0200 Subject: [PATCH] Cancel the inner task --- Lib/asyncio/tasks.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 140539a924a..ef5c0f9669a 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -444,12 +444,11 @@ async def wait_for(fut, timeout): This function is a coroutine. """ - if not futures.isfuture(fut): - # wrap a coroutine - fut = create_task(fut) + async def inner(): + async with timeouts.timeout(timeout): + return await fut - async with timeouts.timeout(timeout): - return await fut + return await create_task(inner()) async def _wait(fs, timeout, return_when, loop): -- GitLab