From: Reid Kleckner Date: Tue, 25 Aug 2015 16:07:06 +0000 (+0000) Subject: [lit] Speculatively fix PR24554 by manually closing the process handle X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=b6566b103fac04e33fbf12b95ca9fb49295da791 [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 --- 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