diff --git a/Lib/test/test_thread.py b/Lib/test/test_thread.py index 413889a..fb312aa 100644 --- a/Lib/test/test_thread.py +++ b/Lib/test/test_thread.py @@ -237,7 +237,12 @@ class TestForkInThread(unittest.TestCase): if pid == 0: # child os.close(self.read_fd) os.write(self.write_fd, "OK") - sys.exit(0) + # Exiting the thread normally in the child process can leave + # any additional threads (such as the one started by + # importing _tkinter) still running, and this can prevent + # the half-zombie child process from being cleaned up. See + # Issue #26456. + os._exit(0) else: # parent os.close(self.write_fd)