[PATCH] xlat: avoid fork bombing the build system
Mike Frysinger
vapier at gentoo.org
Thu Feb 26 23:06:16 UTC 2015
When there were fewer xlat headers, this didn't matter as much.
But now with >200, trying to run them all in parallel can easily
fork bomb smaller systems.
* xlat/gen.sh (main): Do not more jobs than # of cpus.
---
xlat/gen.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/xlat/gen.sh b/xlat/gen.sh
index 1484fb5..921f9fe 100755
--- a/xlat/gen.sh
+++ b/xlat/gen.sh
@@ -147,6 +147,8 @@ main()
local input="$1"
local output="$2"
local name
+ local jobs=0
+ local ncpus=$(getconf _NPROCESSORS_ONLN)
if [ -d "${input}" ]; then
local f names=
@@ -156,6 +158,11 @@ main()
name=${name%.in}
gen_header "${f}" "${output}/${name}.h" "${name}" &
names="${names} ${name}"
+ : $(( jobs += 1 ))
+ if [ ${jobs} -ge ${ncpus} ]; then
+ jobs=0
+ wait
+ fi
done
gen_git "${output}/.gitignore" ${names}
gen_make "${output}/Makemodule.am" ${names}
--
2.3.0
More information about the Strace-devel
mailing list