xlat: avoid fork bombing the build system

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.
This commit is contained in:
Mike Frysinger 2015-02-26 18:06:16 -05:00 committed by Dmitry V. Levin
parent adee242dec
commit 48ceaee384

View File

@ -147,6 +147,10 @@ main()
local input="$1"
local output="$2"
local name
local jobs=0
local ncpus="$(getconf _NPROCESSORS_ONLN)"
[ "${ncpus}" -ge 1 ] ||
ncpus=1
if [ -d "${input}" ]; then
local f names=
@ -156,6 +160,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}