mercurial/worker.py
changeset 26063 d29859cfcfc2
parent 25992 2d76f8a2d831
child 26568 c0501c26b05c
--- a/mercurial/worker.py	Mon Aug 24 10:09:00 2015 -0400
+++ b/mercurial/worker.py	Mon May 25 13:10:38 2015 -0700
@@ -8,6 +8,7 @@
 from __future__ import absolute_import
 
 import errno
+import multiprocessing
 import os
 import signal
 import sys
@@ -18,24 +19,10 @@
 
 def countcpus():
     '''try to count the number of CPUs on the system'''
-
-    # posix
     try:
-        n = int(os.sysconf('SC_NPROCESSORS_ONLN'))
-        if n > 0:
-            return n
-    except (AttributeError, ValueError):
-        pass
-
-    # windows
-    try:
-        n = int(os.environ['NUMBER_OF_PROCESSORS'])
-        if n > 0:
-            return n
-    except (KeyError, ValueError):
-        pass
-
-    return 1
+        return multiprocessing.cpu_count()
+    except NotImplementedError:
+        return 1
 
 def _numworkers(ui):
     s = ui.config('worker', 'numcpus')