]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-44336: Prevent tests hanging on child process handles on Windows (GH-26578)
authorJeremy Kloth <jeremy.kloth@gmail.com>
Tue, 22 Mar 2022 17:21:24 +0000 (11:21 -0600)
committerGitHub <noreply@github.com>
Tue, 22 Mar 2022 17:21:24 +0000 (17:21 +0000)
commit8146e6b636905d9872140c990d93308ac20d13f0
treeaebff0d2e098698a40809c68b8c41f7e9381daff
parent9d59381a5d20157930bae34e5f5a7bc5ef09fa89
bpo-44336: Prevent tests hanging on child process handles on Windows (GH-26578)

Replace the child process `typeperf.exe` with a daemon thread that reads the performance counters directly.  This prevents the issues that arise from inherited handles in grandchild processes (see issue37531 for discussion).

We only use the load tracker when running tests in multiprocess mode. This prevents inadvertent interactions with tests expecting a single threaded environment.  Displaying load is really only helpful for buildbots running in multiprocess mode anyway.

Co-authored-by: Jeremy Kloth <jeremy.kloth@gmail.com>
Lib/test/libregrtest/main.py
Lib/test/libregrtest/win_utils.py