From 0fd1663385425c925a87eef4a5d1d438f1fc765d Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Wed, 30 Apr 2025 12:48:36 +0200 Subject: [PATCH] gh-87135: test_threading: Wait on thread, not an Event it sets When the event is set the thread might not be done yet. This is a fix-up for commit 4ebbfcf30e0e2d87ff6036d4d1de0f6f0ef7c46a --- Lib/test/test_threading.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index b768886362654f..814c00ca0fd7b6 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -1219,18 +1219,18 @@ def test_join_finished_daemon_thread_in_finalization(self): import threading done = threading.Event() - def loop(): + def set_event(): done.set() - class Cycle: def __init__(self): self.self_ref = self - self.thr = threading.Thread(target=loop, daemon=True) + self.thr = threading.Thread(target=set_event, daemon=True) self.thr.start() - done.wait() + self.thr.join() def __del__(self): + assert done.is_set() assert not self.thr.is_alive() self.thr.join() assert not self.thr.is_alive()