summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio
diff options
context:
space:
mode:
authorKumar Aditya <kumaraditya@python.org>2024-12-24 13:54:28 (GMT)
committerGitHub <noreply@github.com>2024-12-24 13:54:28 (GMT)
commit9fce90682553e2cfe93e98e2ae5948bf9c7c4456 (patch)
tree68349cd7bec642cadc1bb7436d1f0c54ccb91366 /Lib/asyncio
parent3ddd70ceaaf67b111ee4251817e150396d6d10a9 (diff)
downloadcpython-9fce90682553e2cfe93e98e2ae5948bf9c7c4456.zip
cpython-9fce90682553e2cfe93e98e2ae5948bf9c7c4456.tar.gz
cpython-9fce90682553e2cfe93e98e2ae5948bf9c7c4456.tar.bz2
gh-127949: deprecate `asyncio.set_event_loop` (#128218)
Deprecate `asyncio.set_event_loop` to be removed in Python 3.16.
Diffstat (limited to 'Lib/asyncio')
-rw-r--r--Lib/asyncio/__main__.py2
-rw-r--r--Lib/asyncio/events.py32
-rw-r--r--Lib/asyncio/runners.py4
3 files changed, 24 insertions, 14 deletions
diff --git a/Lib/asyncio/__main__.py b/Lib/asyncio/__main__.py
index 95c636f..662ba64 100644
--- a/Lib/asyncio/__main__.py
+++ b/Lib/asyncio/__main__.py
@@ -149,7 +149,7 @@ if __name__ == '__main__':
return_code = 0
loop = asyncio.new_event_loop()
- asyncio.set_event_loop(loop)
+ asyncio._set_event_loop(loop)
repl_locals = {'asyncio': asyncio}
for key in {'__name__', '__package__',
diff --git a/Lib/asyncio/events.py b/Lib/asyncio/events.py
index 3ade774..6e291d2 100644
--- a/Lib/asyncio/events.py
+++ b/Lib/asyncio/events.py
@@ -5,16 +5,22 @@
# SPDX-FileCopyrightText: Copyright (c) 2015-2021 MagicStack Inc. http://magic.io
__all__ = (
- '_AbstractEventLoopPolicy',
- 'AbstractEventLoop', 'AbstractServer',
- 'Handle', 'TimerHandle',
- '_get_event_loop_policy',
- 'get_event_loop_policy',
- '_set_event_loop_policy',
- 'set_event_loop_policy',
- 'get_event_loop', 'set_event_loop', 'new_event_loop',
- '_set_running_loop', 'get_running_loop',
- '_get_running_loop',
+ "_AbstractEventLoopPolicy",
+ "AbstractEventLoop",
+ "AbstractServer",
+ "Handle",
+ "TimerHandle",
+ "_get_event_loop_policy",
+ "get_event_loop_policy",
+ "_set_event_loop_policy",
+ "set_event_loop_policy",
+ "get_event_loop",
+ "_set_event_loop",
+ "set_event_loop",
+ "new_event_loop",
+ "_set_running_loop",
+ "get_running_loop",
+ "_get_running_loop",
)
import contextvars
@@ -801,9 +807,13 @@ def get_event_loop():
return _get_event_loop_policy().get_event_loop()
+def _set_event_loop(loop):
+ _get_event_loop_policy().set_event_loop(loop)
+
def set_event_loop(loop):
"""Equivalent to calling get_event_loop_policy().set_event_loop(loop)."""
- _get_event_loop_policy().set_event_loop(loop)
+ warnings._deprecated('asyncio.set_event_loop', remove=(3,16))
+ _set_event_loop(loop)
def new_event_loop():
diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py
index 0e63c34..b9adf29 100644
--- a/Lib/asyncio/runners.py
+++ b/Lib/asyncio/runners.py
@@ -74,7 +74,7 @@ class Runner:
loop.shutdown_default_executor(constants.THREAD_JOIN_TIMEOUT))
finally:
if self._set_event_loop:
- events.set_event_loop(None)
+ events._set_event_loop(None)
loop.close()
self._loop = None
self._state = _State.CLOSED
@@ -147,7 +147,7 @@ class Runner:
if not self._set_event_loop:
# Call set_event_loop only once to avoid calling
# attach_loop multiple times on child watchers
- events.set_event_loop(self._loop)
+ events._set_event_loop(self._loop)
self._set_event_loop = True
else:
self._loop = self._loop_factory()