summaryrefslogtreecommitdiff
path: root/math/sage/files/patch-src_doc_common_builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'math/sage/files/patch-src_doc_common_builder.py')
-rw-r--r--math/sage/files/patch-src_doc_common_builder.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/math/sage/files/patch-src_doc_common_builder.py b/math/sage/files/patch-src_doc_common_builder.py
new file mode 100644
index 000000000000..0c52e5a7b9a8
--- /dev/null
+++ b/math/sage/files/patch-src_doc_common_builder.py
@@ -0,0 +1,46 @@
+--- src/doc/common/builder.py-orig 2013-03-17 20:50:38.000000000 +0000
++++ src/doc/common/builder.py 2013-03-17 20:56:42.000000000 +0000
+@@ -272,13 +272,16 @@
+
+ # build the other documents in parallel
+ from multiprocessing import Pool
+- pool = Pool(NUM_THREADS, maxtasksperchild=1)
++ # pool = Pool(NUM_THREADS, maxtasksperchild=1)
+ L = [(doc, name, kwds) + args for doc in others]
+- # map_async handles KeyboardInterrupt correctly. Plain map and
+- # apply_async does not, so don't use it.
+- pool.map_async(build_other_doc, L, 1).get(99999)
+- pool.close()
+- pool.join()
++ # Pool doesn't work properly in FreeBSD. Instead:
++ for iii in L:
++ build_other_doc(iii)
++ # # map_async handles KeyboardInterrupt correctly. Plain map and
++ # # apply_async does not, so don't use it.
++ # pool.map_async(build_other_doc, L, 1).get(99999)
++ # pool.close()
++ # pool.join()
+ logger.warning("Elapsed time: %.1f seconds."%(time.time()-start))
+ logger.warning("Done building the documentation!")
+
+@@ -464,12 +467,15 @@
+ continue
+ output_dir = self._output_dir(format, lang)
+ from multiprocessing import Pool
+- pool = Pool(NUM_THREADS, maxtasksperchild=1)
++ # pool = Pool(NUM_THREADS, maxtasksperchild=1)
+ L = [(doc, lang, format, kwds) + args for doc in self.get_all_documents(refdir)]
+- # (See comment in AllBuilder._wrapper about using map instead of apply.)
+- pool.map_async(build_ref_doc, L, 1).get(99999)
+- pool.close()
+- pool.join()
++ # Pool doesn't work properly in FreeBSD. Instead:
++ for iii in L:
++ build_ref_doc(iii)
++ # # (See comment in AllBuilder._wrapper about using map instead of apply.)
++ # pool.map_async(build_ref_doc, L, 1).get(99999)
++ # pool.close()
++ # pool.join()
+ # The html refman must be build at the end to ensure correct
+ # merging of indexes and inventories.
+ # Sphinx is run here in the current process (not in a