cpython/Lib/test/test_asyncio
Miss Islington (bot) d481d4b767
[3.13] gh-87744: fix waitpid race while calling send_signal in asyncio (GH-121126) (#121194)
gh-87744: fix waitpid race while calling send_signal in asyncio (GH-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.

(cherry picked from commit bd473aa598)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-07-01 05:11:47 +00:00
..
__init__.py bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986) 2022-03-22 03:04:36 -07:00
__main__.py
echo.py
echo2.py
echo3.py
functional.py bpo-45011: Fix test_asyncio without C module _asyncio (GH-27968) 2021-08-26 14:48:24 +02:00
test_base_events.py gh-71042: Add platform.android_ver (#116674) 2024-03-27 17:53:27 +01:00
test_buffered_proto.py
test_context.py bpo-46425: fix direct invocation of asyncio tests (#30725) 2022-01-22 13:06:27 +02:00
test_eager_task_factory.py gh-109653: Remove unused imports in the Lib/ directory (#109803) 2023-09-24 15:07:23 +01:00
test_events.py [3.13] gh-121025: Improve partialmethod.__repr__ (GH-121033) (#121037) 2024-06-26 09:49:42 +00:00
test_futures.py gh-117459: Keep the traceback in _convert_future_exc (#117460) 2024-04-03 20:13:32 -07:00
test_futures2.py GH-96764: rewrite asyncio.wait_for to use asyncio.timeout (#98518) 2023-02-17 00:18:21 +05:30
test_locks.py gh-112202: Ensure that condition.notify() succeeds even when racing with Task.cancel() (#112201) 2024-02-03 08:19:37 -08:00
test_pep492.py GH-102748: remove legacy support for generator based coroutines from asyncio.iscoroutine (#102749) 2023-03-16 20:28:10 +05:30
test_proactor_events.py [3.13] gh-113892: Add a extra check to ProactorEventLoop.sock_connect to ensure that the given socket is in non-blocking mode (GH-119519) (#119912) 2024-06-01 16:27:54 +00:00
test_protocols.py Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) 2022-02-10 14:57:20 +02:00
test_queues.py gh-96471: Add asyncio queue shutdown (#104228) 2024-04-06 07:27:13 -07:00
test_runners.py gh-112559: Avoid unnecessary conversion attempts to enum_klass in signal.py (#113040) 2023-12-23 17:07:52 -08:00
test_selector_events.py gh-113812: Allow DatagramTransport.sendto to send empty data (#115199) 2024-02-16 18:38:07 -08:00
test_sendfile.py gh-111347: Remove wrong assertion in test_sendfile (#111377) 2023-10-29 08:22:15 -07:00
test_server.py gh-113538: Add asycio.Server.{close,abort}_clients (redo) (#116784) 2024-03-18 13:15:53 -07:00
test_sock_lowlevel.py gh-91227: Ignore ERROR_PORT_UNREACHABLE in proactor recvfrom() (#32011) 2024-03-23 08:39:35 -07:00
test_ssl.py gh-95649: Document that asyncio contains uvloop code (#107536) 2024-01-12 22:21:13 +00:00
test_sslproto.py GH-113214: Fix SSLProto exception handling in SSL-over-SSL scenarios (#113334) 2023-12-20 15:09:01 -08:00
test_staggered.py [3.13] gh-119121: Fix and test async.staggered.staggered_race (GH-119173) (#119206) 2024-05-20 11:31:31 +00:00
test_streams.py gh-117722: Fix Stream.readuntil with non-bytes buffer objects (#117723) 2024-04-11 07:41:55 -07:00
test_subprocess.py [3.13] gh-87744: fix waitpid race while calling send_signal in asyncio (GH-121126) (#121194) 2024-07-01 05:11:47 +00:00
test_taskgroups.py gh-116720: Fix corner cases of taskgroups (#117407) 2024-04-09 08:17:28 -07:00
test_tasks.py gh-116720: Fix corner cases of taskgroups (#117407) 2024-04-09 08:17:28 -07:00
test_threads.py bpo-47104: Rewrite asyncio.to_thread tests to use IsolatedAsyncioTestCase (GH-32086) 2022-03-23 23:17:07 +02:00
test_timeouts.py gh-96037: Always insert TimeoutError when exit an expired asyncio.timeout() block (GH-113819) 2024-01-10 12:50:31 +02:00
test_transports.py Fix warning: asyncio.events._event_loop_policy was modified by test_asyncio (GH-31253) 2022-02-10 14:57:20 +02:00
test_unix_events.py [3.13] gh-119064: Use os_helper.FakePath instead of pathlib.Path in tests (GH-119065) (GH-119087) 2024-05-16 10:51:18 +03:00
test_waitfor.py chore: fix typos (#116345) 2024-03-05 09:05:52 -07:00
test_windows_events.py gh-116773: Ensure overlapped objects on Windows are not deallocated too early by asyncio (GH-116774) 2024-03-20 14:33:28 +00:00
test_windows_utils.py bpo-44287: asyncio test_popen() uses longer timeout (GH-26832) 2021-06-22 01:58:19 +02:00
utils.py gh-110205: Fix asyncio ThreadedChildWatcher._join_threads() (#110884) 2023-10-27 15:44:12 -07:00