Guido van Rossum
7fc8e2d462
gh-104340: Suppress warning about unawaited exception for closed pipe stdin ( #104586 )
2023-05-17 16:45:11 -07:00
Sam Bull
fb8739f0b6
gh-98539: Make _SSLTransportProtocol.abort() safe to call when closed ( #104474 )
2023-05-14 11:58:13 -07:00
Jacob Bower
bf89d4283a
gh-97696 Remove unnecessary check for eager_start kwarg ( #104188 )
...
Instead, add docstring to create_eager_task_factory.
2023-05-09 00:51:58 +00:00
Itamar Ostricher
263abd333d
gh-104144: Optimize gather to finish eagerly when all futures complete eagerly ( #104138 )
2023-05-06 15:15:27 +00:00
Itamar Ostricher
52d8f36e8c
gh-104144: Skip scheduling a done callback if a TaskGroup task completes eagerly ( #104140 )
...
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-05-05 16:44:03 -07:00
Itamar Ostricher
a474e04388
gh-97696: asyncio eager tasks factory ( #102853 )
...
Co-authored-by: Jacob Bower <jbower@meta.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2023-05-01 15:10:13 -06:00
Marek Marczykowski-Górecki
67d140dba7
gh-83925: Make asyncio.subprocess communicate similar to non-asyncio ( #18650 )
...
subprocess's communicate(None) closes stdin of the child process, after
sending no (extra) data. Make asyncio variant do the same.
This fixes issues with processes that waits for EOF on stdin before
continuing.
2023-04-27 17:30:26 -07:00
Itayazolay
78942ecd9b
gh-103607: Fix `pause_reading` to work when called from `connection_made` in `asyncio`. ( #17425 )
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-04-27 15:33:29 +05:30
Ali-Akber Saifee
19d2639d1e
gh-103462: Ensure SelectorSocketTransport.writelines registers a writer when data is still pending ( #103463 )
2023-04-13 10:16:52 +05:30
Kristján Valur Jónsson
04adf2df39
gh-102780: Fix uncancel() call in asyncio timeouts ( #102815 )
...
Also use `raise TimeOut from <CancelledError instance>` so that the CancelledError is set
in the `__cause__` field rather than in the `__context__` field.
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-22 10:52:10 -07:00
JosephSBoyle
699cb20ae6
gh-102810: Add docstrings to the public-facing methods of `asyncio.Timeout` ( #102811 )
...
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-19 20:06:09 +00:00
Kumar Aditya
adaed17341
GH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` ( #102749 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-16 20:28:10 +05:30
Kumar Aditya
a44553ea9f
GH-100112: avoid using iterable coroutines in asyncio internally ( #100128 )
2023-03-16 09:20:43 +05:30
JosephSBoyle
e94edab727
gh-102560 Add docstrings to asyncio.TaskGroup ( #102565 )
2023-03-14 17:33:19 -07:00
Kumar Aditya
d8485d6c8b
Remove redundant `_ensure_future` in favor of `ensure_future` in `asyncio` ( #102398 )
2023-03-07 08:44:55 +05:30
Jan Gosmann
77d95c8373
gh-100226: Clarify StreamReader.read behavior ( #101807 )
2023-02-17 13:01:26 -08:00
Kumar Aditya
a5024a261a
GH-96764: rewrite `asyncio.wait_for` to use `asyncio.timeout` ( #98518 )
...
Changes `asyncio.wait_for` to use `asyncio.timeout` as its underlying implementation.
2023-02-17 00:18:21 +05:30
beavailable
cc407b9de6
gh-101317: Add `ssl_shutdown_timeout` parameter for `asyncio.StreamWriter.start_tls` ( #101335 )
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-02-01 16:33:59 +05:30
J. Nick Koston
9e947675ae
gh-101143: Remove references to `TimerHandle` from `asyncio.base_events.BaseEventLoop._add_callback` ( #101197 )
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-01-21 14:46:07 +05:30
Guido van Rossum
1bc7a73683
GH-100573: Fix server hang caused by os.stat() on named pipe (Windows) ( #100959 )
2023-01-13 13:24:57 -08:00
Serhiy Storchaka
e5bd5ad70d
gh-100160: Restore and deprecate implicit creation of an event loop (GH-100410)
...
Partially revert changes made in GH-93453.
asyncio.DefaultEventLoopPolicy.get_event_loop() now emits a
DeprecationWarning and creates and sets a new event loop instead of
raising a RuntimeError if there is no current event loop set.
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
2023-01-13 14:40:29 +02:00
Kumar Aditya
ba8dcdbcab
GH-86508: skip binding to local addresses of different family in `asyncio.open_connection` ( #100615 )
2023-01-04 13:30:26 +05:30
Kumar Aditya
c122390a55
GH-91166: Implement zero copy writes for `SelectorSocketTransport` in asyncio ( #31871 )
...
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
2022-12-24 11:21:11 +05:30
Itamar Ostricher
4cc63e0d4e
gh-100344: Add C implementation for `asyncio.current_task` ( #100345 )
...
Co-authored-by: pranavtbhat
2022-12-22 19:08:12 +05:30
Kumar Aditya
a7715ccfba
GH-100133: fix `asyncio` subprocess losing `stderr` and `stdout` output ( #100154 )
2022-12-21 15:20:26 +05:30
Kumar Aditya
4994f2488f
GH-100363: Speed up `asyncio.get_running_loop` ( #100364 )
2022-12-21 15:19:44 +05:30
Richard Kojedzinszky
a6331b605e
gh-100348: Fix ref cycle in `asyncio._SelectorSocketTransport` with `_read_ready_cb` ( #100349 )
2022-12-20 16:10:56 +05:30
DarioDaF
1bb68ba6d9
gh-99941: Ensure that asyncio.Protocol.data_received receives immutable bytes ( #100053 )
2022-12-10 15:07:02 -08:00
Serhiy Storchaka
fd38a2f0ec
gh-93453: No longer create an event loop in get_event_loop() ( #98440 )
...
asyncio.get_event_loop() now always return either running event loop or
the result of get_event_loop_policy().get_event_loop() call. The latter
should now raise an RuntimeError if no current event loop was set
instead of creating and setting a new event loop.
It affects also a number of asyncio functions and constructors which
call get_event_loop() implicitly: ensure_future(), shield(), gather(),
etc.
DeprecationWarning is no longer emitted if there is no running event loop but
the current event loop was set.
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2022-12-06 18:42:12 +01:00
Kumar Aditya
191708c56c
GH-66285: fix forking in asyncio ( #99769 )
...
Closes #66285
2022-11-27 11:24:48 +05:30
Kumar Aditya
351842b46a
GH-66285: Revert "fix forking in asyncio" ( #99756 )
2022-11-24 23:04:21 +05:30
Guido van Rossum
5d09d11aa0
GH-79033: Fix asyncio.Server.wait_closed() ( #98582 )
...
It was a no-op when used as recommended (after close()).
I had to debug one test (test__sock_sendfile_native_failure) --
the cleanup sequence for the test fixture was botched.
Hopefully that's not a portend of problems in user code --
this has never worked so people may well be doing this wrong. :-(
Co-authored-by: kumar aditya
2022-11-24 08:32:58 -07:00
Kumar Aditya
0c1fbc17b4
GH-66285: fix forking in `asyncio` ( #99539 )
...
`asyncio` now does not shares event loop and signal wakeupfd in forked processes.
2022-11-24 09:10:27 +05:30
Dong Uk, Kang
995f6170c7
gh-88863: Clear ref cycles to resolve leak when asyncio.open_connection raises ( #95739 )
...
Break reference cycles to resolve memory leak, by
removing local exception and future instances from the frame
2022-11-22 07:06:20 -08:00
Kumar Aditya
f63002755d
GH-99388: add `loop_factory` parameter to `asyncio.run` ( #99462 )
2022-11-14 10:18:51 -08:00
Kumar Aditya
aa874326d8
GH-94597: add deprecation warnings for subclassing `AbstractChildWatcher` ( #99386 )
2022-11-11 23:17:53 -08:00
Carlo
f1680c3fbf
gh-99277: remove older version of `get_write_buffer_limits` ( #99280 )
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-11-10 08:07:17 -08:00
Kumar Aditya
9bdec0aa45
GH-90352: fix _SelectorDatagramTransport to inherit from DatagramTransport ( #98844 )
2022-10-29 09:43:42 -07:00
Ken Jin
8a755423eb
gh-98703: Fix asyncio proactor_events calling _call_connection_lost multiple times (GH-98704)
...
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2022-10-27 10:37:12 +08:00
Kumar Aditya
ad1dc3ebb6
GH-89237: fix hang in proactor `subprocess.wait_closed()` ( #98572 )
2022-10-24 13:21:42 -07:00
Kumar Aditya
62bf5d8d0a
GH-98539: fix ref cycle in `_SSLProtocolTransport` after close ( #98540 )
2022-10-22 09:11:27 -07:00
Kumar Aditya
f4a14941e6
GH-98543: Fix `asyncio.TaskGroup` to not keep reference to errors after raising ExceptionGroup ( #98544 )
2022-10-22 09:05:11 -07:00
Kumar Aditya
72c10d3f1a
GH-98327: Reduce scope of catch_warnings() in _make_subprocess_transport ( #98333 )
...
Alas, warnings.catch_warnings() has global scope, not thread scope, so this is still not perfect, but it reduces the time during which warnings are ignored. Better solution welcome.
2022-10-17 08:27:02 -07:00
Kumar Aditya
660f10248b
GH-94597: Deprecate child watcher getters and setters ( #98215 )
...
This is the next step for deprecating child watchers.
Until we've removed the API completely we have to use it, so this PR is mostly suppressing a lot of warnings when using the API internally.
Once the child watcher API is totally removed, the two child watcher implementations we actually use and need (Pidfd and Thread) will be turned into internal helpers.
2022-10-15 16:09:30 -07:00
Tony Solomonik
b863b9cd4b
Bpo-41246: IOCP Proactor avoid callback code duplication ( #21399 )
...
Use the same callback function for overlapped operations recv, recv_into, recvfrom, sendto, send, and sendfile inside IocpProactor.
2022-10-13 11:05:16 -07:00
Christoph Hamsen
c9ed0327a9
bpo-46364: Use sockets for stdin of asyncio only on AIX ( #30596 )
...
Signed-off-by: Christoph Hamsen <hamsen.christoph@posteo.de>
Co-authored-by: July Tikhonov <july.tikh@gmail.com>
2022-10-13 09:11:15 -07:00
Kumar Aditya
d8765284f3
GH-94597: deprecate `SafeChildWatcher`, `FastChildWatcher` and `MultiLoopChildWatcher` child watchers ( #98089 )
2022-10-08 13:52:19 -07:00
Kumar Aditya
8ba9378b16
GH-98023: Change default child watcher to PidfdChildWatcher on supported systems ( #98024 )
2022-10-07 17:29:09 -07:00
Thomas Grainger
3d8b224547
GH-94182: Run the PidfdChildWatcher on the running loop ( #94184 )
...
There is no reason for this watcher to be attached to any particular loop.
This should make it safe to use regardless of the lifetime of the event loop running in the main thread
(relative to other loops).
Co-authored-by: Yury Selivanov <yury@edgedb.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-10-07 17:24:01 -07:00
Guido van Rossum
c06276402b
GH-88968: Reject socket that is already used as a transport ( #98010 )
2022-10-07 12:56:50 -07:00