diff --git a/mercurial/worker.py b/mercurial/worker.py --- a/mercurial/worker.py +++ b/mercurial/worker.py @@ -8,6 +8,7 @@ from __future__ import absolute_import import errno +import multiprocessing import os import signal import sys @@ -18,24 +19,10 @@ from . import util 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')