From b6566b103fac04e33fbf12b95ca9fb49295da791 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Tue, 25 Aug 2015 16:07:06 +0000 Subject: [PATCH] [lit] Speculatively fix PR24554 by manually closing the process handle My theory is that somehow Python's refcounting and GC strategy isn't closing the subprocess handle in a timely fashion. This accesses the private '_handle' field of the Popen object, but I see no other way to do this. If this doesn't address the problem on the sanitizer-windows buildbot, we can revert this change. If it does, then let's keep the hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245946 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/lit/lit/TestRunner.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py index a4902874325..610d442e756 100644 --- a/utils/lit/lit/TestRunner.py +++ b/utils/lit/lit/TestRunner.py @@ -257,6 +257,9 @@ def executeShCmd(cmd, shenv, results): exitCode = None for i,(out,err) in enumerate(procData): res = procs[i].wait() + # On Windows, manually close the process handles. + if kIsWindows: + procs[i]._handle.Close() # Detect Ctrl-C in subprocess. if res == -signal.SIGINT: raise KeyboardInterrupt -- 2.34.1