Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions Lib/asyncio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@
from .threads import *
from .transports import *

# Exposed for _asynciomodule.c to implement now deprecated
# Task.all_tasks() method. This function will be removed in 3.9.
from .tasks import _all_tasks_compat # NoQA

__all__ = (base_events.__all__ +
coroutines.__all__ +
events.__all__ +
Expand Down
24 changes: 0 additions & 24 deletions Lib/asyncio/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,30 +61,6 @@ def all_tasks(loop=None):
if futures._get_loop(t) is loop and not t.done()}


def _all_tasks_compat(loop=None):
# Different from "all_task()" by returning *all* Tasks, including
# the completed ones. Used to implement deprecated "Tasks.all_task()"
# method.
if loop is None:
loop = events.get_event_loop()
# Looping over a WeakSet (_all_tasks) isn't safe as it can be updated from another
# thread while we do so. Therefore we cast it to list prior to filtering. The list
# cast itself requires iteration, so we repeat it several times ignoring
# RuntimeErrors (which are not very likely to occur). See issues 34970 and 36607 for
# details.
i = 0
while True:
try:
tasks = list(_all_tasks)
except RuntimeError:
i += 1
if i >= 1000:
raise
else:
break
return {t for t in tasks if futures._get_loop(t) is loop}


def _set_task_name(task, name):
if name is not None:
try:
Expand Down