[Python-checkins] bpo-42582: Remove asyncio._all_tasks_compat(). (GH-23664)

serhiy-storchaka webhook-mailer at python.org
Sun Dec 6 11:55:07 EST 2020


https://github.com/python/cpython/commit/8a62887dfb4bb2835048780ad673362f7ee3c7bf
commit: 8a62887dfb4bb2835048780ad673362f7ee3c7bf
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: serhiy-storchaka <storchaka at gmail.com>
date: 2020-12-06T18:54:33+02:00
summary:

bpo-42582: Remove asyncio._all_tasks_compat(). (GH-23664)

It was used to implement now removed asyncio.Task.all_tasks().

files:
M Lib/asyncio/__init__.py
M Lib/asyncio/tasks.py

diff --git a/Lib/asyncio/__init__.py b/Lib/asyncio/__init__.py
index eb84bfb189ccf..200b14c2a3f21 100644
--- a/Lib/asyncio/__init__.py
+++ b/Lib/asyncio/__init__.py
@@ -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__ +
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index eef7f8808eb06..0d3a24b7853f5 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -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:



More information about the Python-checkins mailing list