FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Refactor asyncio.wait_for() by asvetlov · Pull Request #31847 · python/cpython · GitHub

/ cpython Public

Refactor asyncio.wait_for() - #31847

Closed
asvetlov wants to merge 4 commits into
mainfrom
refactor-wait_for
Closed

Refactor asyncio.wait_for()#31847
asvetlov wants to merge 4 commits into
mainfrom
refactor-wait_for

Conversation

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread Lib/asyncio/tasks.py

fut = ensure_future(fut, loop=loop)
fut.add_done_callback(cb)
async def inner():

graingert Jul 20, 2022
edited
Loading

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

@asvetlov I've been having a go at this branch in bf594bd

you need to special case None in asyncio.wait_for(

Suggested change
async def inner():
if timeout is None:
return await fut
async def inner():

and then special case 0 in timeouts.timeout see https://gist.github.com/graingert/ea2546b23b32be5a4493a9a115db2eff#file-timeout_bug-py-L6

Comment thread Lib/asyncio/tasks.py
raise exceptions.TimeoutError() from exc
finally:
timeout_handle.cancel()
return await create_task(inner())

graingert Jul 21, 2022
edited
Loading

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I don't think this extra create_task is worth it, the tests it passes are equivalent to:

async def wait_for(fut, delay):
    if delay is None:
        return await fut
    if delay <= 0:
        if asyncio.iscoroutine(fut):
            fut.close()
            raise TimeoutError

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I think it would be better to skip this create_task and delete the tests that fail

pablogsal closed this Dec 14, 2022
pablogsal deleted the refactor-wait_for branch December 14, 2022 20:34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants


Back | FazBrowse Home | New Git URL