diff --git a/Lib/multiprocessing/__init__.py b/Lib/multiprocessing/__init__.py --- a/Lib/multiprocessing/__init__.py +++ b/Lib/multiprocessing/__init__.py @@ -114,7 +114,13 @@ num = int(os.environ['NUMBER_OF_PROCESSORS']) except (ValueError, KeyError): num = 0 - elif 'bsd' in sys.platform or sys.platform == 'darwin': + elif sys.platform == 'darwin': + try: + with os.popen('/usr/sbin/sysctl -n hw.ncpu') as p: + num = int(p.read()) + except ValueError: + num = 0 + elif 'bsd' in sys.platform: try: with os.popen('sysctl -n hw.ncpu') as p: num = int(p.read())