cpython/Lib/asyncio
Kumar Aditya bd473aa598
gh-87744: fix waitpid race while calling send_signal in asyncio (#121126)
asyncio earlier relied on subprocess module to send signals to the process, this has some drawbacks one being that subprocess module unnecessarily calls waitpid on child processes and hence it races with asyncio implementation which internally uses child watchers. To mitigate this, now asyncio sends signals directly to the process without going through the subprocess on non windows systems. On Windows it fallbacks to subprocess module handling but on windows there are no child watchers so this issue doesn't exists altogether.
2024-07-01 10:17:36 +05:30
..
__init__.py gh-106075: add `asyncio.taskgroups.__all__` to `asyncio.__all__` (#106090) 2023-06-26 07:54:03 +00:00
__main__.py gh-118894: Make asyncio REPL use pyrepl (GH-119433) 2024-05-31 22:26:02 +02:00
base_events.py gh-113538: Add asycio.Server.{close,abort}_clients (redo) (#116784) 2024-03-18 13:15:53 -07:00
base_futures.py gh-84623: Remove unused imports in stdlib (#93773) 2022-06-13 16:28:41 +02:00
base_subprocess.py gh-87744: fix waitpid race while calling send_signal in asyncio (#121126) 2024-07-01 10:17:36 +05:30
base_tasks.py gh-97696: asyncio eager tasks factory (#102853) 2023-05-01 15:10:13 -06:00
constants.py gh-95649: Document that asyncio contains uvloop code (#107536) 2024-01-12 22:21:13 +00:00
coroutines.py GH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` (#102749) 2023-03-16 20:28:10 +05:30
events.py GH-120804: Remove `get_child_watcher` and `set_child_watcher` from asyncio (#120818) 2024-06-23 09:53:23 +05:30
exceptions.py bpo-43352: Add a Barrier object in asyncio lib (GH-24903) 2022-03-26 00:01:21 +02:00
format_helpers.py gh-112997: Don't log arguments in asyncio unless debugging (#115667) 2024-02-27 17:39:08 -08:00
futures.py gh-117459: Keep the traceback in _convert_future_exc (#117460) 2024-04-03 20:13:32 -07:00
locks.py gh-112202: Ensure that condition.notify() succeeds even when racing with Task.cancel() (#112201) 2024-02-03 08:19:37 -08:00
log.py
mixins.py bpo-46796: Simplify handling of removed parameter "loop" in asyncio (GH-31431) 2022-02-21 13:25:52 +02:00
proactor_events.py gh-113892: Add a extra check to `ProactorEventLoop.sock_connect` to ensure that the given socket is in non-blocking mode (#119519) 2024-06-01 09:05:19 -07:00
protocols.py bpo-46741: Update `asyncio.protocols.BufferedProtocol` docstring (31327) 2022-02-15 18:39:28 +02:00
queues.py gh-96471: Correct documentation for asyncio queue shutdown (#117621) 2024-04-08 14:50:54 +00:00
runners.py GH-99388: add `loop_factory` parameter to `asyncio.run` (#99462) 2022-11-14 10:18:51 -08:00
selector_events.py gh-113538: Add asycio.Server.{close,abort}_clients (redo) (#116784) 2024-03-18 13:15:53 -07:00
sslproto.py gh-109534: fix reference leak when SSL handshake fails (#114074) 2024-01-31 16:42:17 -08:00
staggered.py gh-119121: Fix and test `async.staggered.staggered_race` (#119173) 2024-05-20 14:06:50 +03:00
streams.py gh-117722: Fix Stream.readuntil with non-bytes buffer objects (#117723) 2024-04-11 07:41:55 -07:00
subprocess.py gh-109709: Fix asyncio test_stdin_broken_pipe() (#109710) 2023-09-22 15:29:42 +02:00
taskgroups.py gh-116720: Fix corner cases of taskgroups (#117407) 2024-04-09 08:17:28 -07:00
tasks.py GH-107803: double linked list implementation for asyncio tasks (GH-107804) 2024-06-22 10:58:35 -07:00
threads.py
timeouts.py gh-96037: Always insert TimeoutError when exit an expired asyncio.timeout() block (GH-113819) 2024-01-10 12:50:31 +02:00
transports.py gh-113812: Allow DatagramTransport.sendto to send empty data (#115199) 2024-02-16 18:38:07 -08:00
trsock.py
unix_events.py gh-120804: remove `is_active` method from internal child watchers implementation in asyncio (#121124) 2024-06-28 17:23:56 +05:30
windows_events.py gh-91227: Ignore ERROR_PORT_UNREACHABLE in proactor recvfrom() (#32011) 2024-03-23 08:39:35 -07:00
windows_utils.py