2020 StrPath , StrJSON , TestName , TestList , TestTuple , FilterTuple ,
2121 strip_py_suffix , count , format_duration ,
2222 printlist , get_temp_dir , get_work_dir , exit_timeout ,
23- display_header , cleanup_temp_dir )
23+ display_header , cleanup_temp_dir ,
24+ MS_WINDOWS )
2425
2526
2627class Regrtest :
@@ -435,7 +436,15 @@ def _run_tests(self, selected: TestTuple, tests: TestList | None) -> int:
435436
436437 setup_process ()
437438
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 ()
439448 try :
440449 if self .num_workers :
441450 self ._run_tests_mp (runtests , self .num_workers )
@@ -448,7 +457,8 @@ def _run_tests(self, selected: TestTuple, tests: TestList | None) -> int:
448457 if self .want_rerun and self .results .need_rerun ():
449458 self .rerun_failed_tests (runtests )
450459 finally :
451- self .logger .stop_load_tracker ()
460+ if use_load_tracker :
461+ self .logger .stop_load_tracker ()
452462
453463 self .display_summary ()
454464 self .finalize_tests (tracer )
0 commit comments