Switch threading mode for tests on Windows when there are lots of cores.
This prevents a "too many files" error.

Differential Revision: http://reviews.llvm.org/D13555

llvm-svn: 250044
diff --git a/lldb/test/dosep.py b/lldb/test/dosep.py
index 938a3f6..7af953f 100755
--- a/lldb/test/dosep.py
+++ b/lldb/test/dosep.py
@@ -1254,10 +1254,13 @@
         # Use the serial runner.
         test_runner_name = "serial"
     elif os.name == "nt":
-        # Currently the multiprocessing test runner with ctrl-c
-        # support isn't running correctly on nt.  Use the pool
-        # support without ctrl-c.
-        test_runner_name = "threading-pool"
+        # On Windows, Python uses CRT with a low limit on the number of open
+        # files.  If you have a lot of cores, the threading-pool runner will
+        # often fail because it exceeds that limit.
+        if num_threads > 32:
+            test_runner_name = "multiprocessing-pool"
+        else:
+            test_runner_name = "threading-pool"
     elif is_darwin_version_lower_than(
             distutils.version.StrictVersion("10.10.0")):
         # OS X versions before 10.10 appear to have an issue using