Skip to content

asyncio.base_events.BaseEventLoop._add_callback references TimerHandle but never uses them #101143

@bdraco

Description

@bdraco

Bug report

After 592ada9 it appears this function not longer cares about self._scheduled or TimerHandle but the docstring seems to imply otherwise

Your environment

  • CPython versions tested on: 3.12.0a4
  • Operating system and architecture: MacOS

I only noticed because it was unexpectedly more expensive

unexpectedly_more_expensive

I think its dead code and can be simplified to:

diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index cbabb43ae0..070ea1044d 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -1857,11 +1857,9 @@ def call_exception_handler(self, context): exc_info=True) def _add_callback(self, handle): - """Add a Handle to _scheduled (TimerHandle) or _ready.""" + """Add a Handle to _ready.""" assert isinstance(handle, events.Handle), 'A Handle is required here' - if handle._cancelled: - return - assert not isinstance(handle, events.TimerHandle) + if not handle._cancelled: self._ready.append(handle) def _add_callback_signalsafe(self, handle):

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions