diff options
author | Kumar Aditya <kumaraditya@python.org> | 2024-12-24 13:54:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-24 13:54:28 (GMT) |
commit | 9fce90682553e2cfe93e98e2ae5948bf9c7c4456 (patch) | |
tree | 68349cd7bec642cadc1bb7436d1f0c54ccb91366 /Lib/asyncio | |
parent | 3ddd70ceaaf67b111ee4251817e150396d6d10a9 (diff) | |
download | cpython-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__.py | 2 | ||||
-rw-r--r-- | Lib/asyncio/events.py | 32 | ||||
-rw-r--r-- | Lib/asyncio/runners.py | 4 |
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() |