summaryrefslogtreecommitdiff
path: root/sphinx/util/parallel.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/util/parallel.py')
-rw-r--r--sphinx/util/parallel.py9
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: