Index: locale-gen =================================================================== --- locale-gen (revision 196367) +++ locale-gen (working copy) @@ -35,6 +35,7 @@ localedef -i "$input" -c -f "$charset" -A /usr/share/locale/locale.alias "$locale" } +maxjobs=$(grep -qc processor /proc/cpuinfo 2>/dev/null || echo 1) echo "Generating locales..." while read locale charset; do \ case $locale in @@ -43,6 +44,12 @@ ;; esac gen "$locale" "$charset" & + + # keep no more than $maxjobs jobs in flight + while [ $(jobs | wc -l) -ge $maxjobs ]; do + sleep 0.25 + jobs >/dev/null + done done < $LOCALEGEN wait