mirror of
https://github.com/python/cpython.git
synced 2025-08-02 08:02:56 +00:00
Issue #28371: Deprecate passing asyncio.Handles to run_in_executor.
This commit is contained in:
parent
3e56ff0d08
commit
0de3de6cbf
3 changed files with 11 additions and 3 deletions
|
@ -605,6 +605,9 @@ class BaseEventLoop(events.AbstractEventLoop):
|
|||
if isinstance(func, events.Handle):
|
||||
assert not args
|
||||
assert not isinstance(func, events.TimerHandle)
|
||||
warnings.warn(
|
||||
"Passing Handle to loop.run_in_executor() is deprecated",
|
||||
DeprecationWarning)
|
||||
if func._cancelled:
|
||||
f = self.create_future()
|
||||
f.set_result(None)
|
||||
|
|
|
@ -358,7 +358,8 @@ class BaseEventLoopTests(test_utils.TestCase):
|
|||
h = asyncio.Handle(cb, (), self.loop)
|
||||
h.cancel()
|
||||
|
||||
f = self.loop.run_in_executor(None, h)
|
||||
with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"):
|
||||
f = self.loop.run_in_executor(None, h)
|
||||
self.assertIsInstance(f, asyncio.Future)
|
||||
self.assertTrue(f.done())
|
||||
self.assertIsNone(f.result())
|
||||
|
@ -373,12 +374,14 @@ class BaseEventLoopTests(test_utils.TestCase):
|
|||
|
||||
self.loop.set_default_executor(executor)
|
||||
|
||||
res = self.loop.run_in_executor(None, h)
|
||||
with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"):
|
||||
res = self.loop.run_in_executor(None, h)
|
||||
self.assertIs(f, res)
|
||||
|
||||
executor = mock.Mock()
|
||||
executor.submit.return_value = f
|
||||
res = self.loop.run_in_executor(executor, h)
|
||||
with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"):
|
||||
res = self.loop.run_in_executor(executor, h)
|
||||
self.assertIs(f, res)
|
||||
self.assertTrue(executor.submit.called)
|
||||
|
||||
|
|
|
@ -356,6 +356,8 @@ Library
|
|||
- Issue #28370: Speedup asyncio.StreamReader.readexactly.
|
||||
Patch by Коренберг Марк.
|
||||
|
||||
- Issue #28371: Deprecate passing asyncio.Handles to run_in_executor.
|
||||
|
||||
IDLE
|
||||
----
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue