diff options
Diffstat (limited to 'dev-python/cython/files')
-rw-r--r-- | dev-python/cython/files/cython-0.29.21-spawn-multiprocessing.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/dev-python/cython/files/cython-0.29.21-spawn-multiprocessing.patch b/dev-python/cython/files/cython-0.29.21-spawn-multiprocessing.patch new file mode 100644 index 000000000000..0aa7212b9a34 --- /dev/null +++ b/dev-python/cython/files/cython-0.29.21-spawn-multiprocessing.patch @@ -0,0 +1,29 @@ +Needed to prevent a loop while calling cythonize on macOS - or any platform +defaulting to the 'spawn' method, as Python 3.8 does on Darwin. + +https://github.com/cython/cython/pull/3263 +From 15ae78bb74a856836dd64828326f4f0812d36520 Mon Sep 17 00:00:00 2001 +From: Marcel Bargull <marcel.bargull@udo.edu> +Date: Fri, 6 Dec 2019 18:21:19 +0100 +Subject: [PATCH] Disable parallel cythonization for "spawn" start method. + +--- + Cython/Build/Dependencies.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Cython/Build/Dependencies.py b/Cython/Build/Dependencies.py +index 593e00a6ef..f9b9c15bc5 100644 +--- a/Cython/Build/Dependencies.py ++++ b/Cython/Build/Dependencies.py +@@ -1073,6 +1073,11 @@ def copy_to_build_dir(filepath, root=os.getcwd()): + + if N <= 1: + nthreads = 0 ++ if nthreads: ++ import multiprocessing ++ if multiprocessing.get_start_method() == 'spawn': ++ print('Disabling parallel cythonization for "spawn" process start method.') ++ nthreads = 0 + if nthreads: + import multiprocessing + pool = multiprocessing.Pool( |