Set numThreads to 1 by default when Python is older than 2.5.2.
authorTorok Edwin <edwintorok@gmail.com>
Fri, 19 Mar 2010 17:54:21 +0000 (17:54 +0000)
committerTorok Edwin <edwintorok@gmail.com>
Fri, 19 Mar 2010 17:54:21 +0000 (17:54 +0000)
Python 2.4 always hits this bug: http://bugs.python.org/issue1731717
when running check-lit on multi-core systems.
Setting numThreads to 1 makes it slower, but at least the results reported are
correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98969 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/lit.py

index f1f19c4ddaeae27454f732132075249a58b4d6d1..436f8e7a4166cdb95e097e783a5cf9b5f2e9794f 100755 (executable)
@@ -411,7 +411,14 @@ def main():
         gSiteConfigName = '%s.site.cfg' % opts.configPrefix
 
     if opts.numThreads is None:
-        opts.numThreads = Util.detectCPUs()
+# Python <2.5 has a race condition causing lit to always fail with numThreads>1
+# http://bugs.python.org/issue1731717
+# I haven't seen this bug occur with 2.5.2 and later, so only enable multiple
+# threads by default there.
+       if sys.hexversion >= 0x2050200:
+               opts.numThreads = Util.detectCPUs()
+       else:
+               opts.numThreads = 1
 
     inputs = args