20
20
StrPath , StrJSON , TestName , TestList , TestTuple , FilterTuple ,
21
21
strip_py_suffix , count , format_duration ,
22
22
printlist , get_temp_dir , get_work_dir , exit_timeout ,
23
- display_header , cleanup_temp_dir )
23
+ display_header , cleanup_temp_dir ,
24
+ MS_WINDOWS )
24
25
25
26
26
27
class Regrtest :
@@ -435,7 +436,15 @@ def _run_tests(self, selected: TestTuple, tests: TestList | None) -> int:
435
436
436
437
setup_process ()
437
438
438
- self .logger .start_load_tracker ()
439
+ if self .hunt_refleak and not self .num_workers :
440
+ # gh-109739: WindowsLoadTracker thread interfers with refleak check
441
+ use_load_tracker = False
442
+ else :
443
+ # WindowsLoadTracker is only needed on Windows
444
+ use_load_tracker = MS_WINDOWS
445
+
446
+ if use_load_tracker :
447
+ self .logger .start_load_tracker ()
439
448
try :
440
449
if self .num_workers :
441
450
self ._run_tests_mp (runtests , self .num_workers )
@@ -448,7 +457,8 @@ def _run_tests(self, selected: TestTuple, tests: TestList | None) -> int:
448
457
if self .want_rerun and self .results .need_rerun ():
449
458
self .rerun_failed_tests (runtests )
450
459
finally :
451
- self .logger .stop_load_tracker ()
460
+ if use_load_tracker :
461
+ self .logger .stop_load_tracker ()
452
462
453
463
self .display_summary ()
454
464
self .finalize_tests (tracer )
0 commit comments