diff options
Diffstat (limited to 'sphinx/util/parallel.py')
-rw-r--r-- | sphinx/util/parallel.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sphinx/util/parallel.py b/sphinx/util/parallel.py index 2d519a8d3..0ff0ec116 100644 --- a/sphinx/util/parallel.py +++ b/sphinx/util/parallel.py @@ -9,6 +9,8 @@ """ import os +import platform +import sys import time import traceback from math import sqrt @@ -26,7 +28,12 @@ logger = logging.getLogger(__name__) # our parallel functionality only works for the forking Process -parallel_available = multiprocessing and (os.name == 'posix') +# +# Note: "fork" is not recommended on macOS and py38+. +# see https://bugs.python.org/issue33725 +parallel_available = (multiprocessing and + (os.name == 'posix') and + not (sys.version_info > (3, 8) and platform.system() == 'Darwin')) class SerialTasks: |