Issue #11569: use absolute path to the sysctl command in multiprocessing to

ensure that it will be found regardless of the shell PATH. This ensures
that multiprocessing.cpu_count works on default installs of MacOSX.
This commit is contained in:
Ronald Oussoren 2011-03-16 09:41:32 -04:00
parent 9465d424ec
commit 0b8753d24b
3 changed files with 9 additions and 1 deletions

View file

@ -115,8 +115,11 @@ def cpu_count():
except (ValueError, KeyError):
num = 0
elif 'bsd' in sys.platform or sys.platform == 'darwin':
comm = '/sbin/sysctl -n hw.ncpu'
if sys.platform == 'darwin':
comm = '/usr' + comm
try:
with os.popen('sysctl -n hw.ncpu') as p:
with os.popen(comm) as p:
num = int(p.read())
except ValueError:
num = 0