diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 140539a924a0336108ad17e1082b3c3a282e7a64..ef5c0f9669abbb0e81c58b3dcb7f91127a71d7f4 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):