blob: ed0797cf86c8e910af182b5ba326de8e4b6b5bfa [file] [log] [blame]
fix from upstream for flaky parallel builds
From e17fbf19c4b48d763041761052e98c2b4ee95487 Mon Sep 17 00:00:00 2001
From: Rob Landley <rob@landley.net>
Date: Fri, 26 Feb 2016 00:22:15 -0600
Subject: [PATCH] Switch to $! for make.sh process enumeration.
---
scripts/make.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/scripts/make.sh b/scripts/make.sh
index 84dda34..c73a03d 100755
--- a/scripts/make.sh
+++ b/scripts/make.sh
@@ -264,17 +264,17 @@ do
LFILES="$LFILES $OUT"
[ "$OUT" -nt "$i" ] && continue
do_loudly $BUILD -c $i -o $OUT &
+ PENDING="$PENDING $!"
# ratelimit to $CPUS many parallel jobs, detecting errors
while true
do
- PENDING="$(echo $PENDING $(jobs -rp) | tr ' ' '\n' | sort -u)"
- [ $(echo -n "$PENDING" | wc -l) -lt "$CPUS" ] && break;
+ [ $(echo "$PENDING" | wc -w) -lt "$CPUS" ] && break;
- wait $(echo "$PENDING" | head -n 1)
+ wait $(echo "$PENDING" | awk '{print $1}')
DONE=$(($DONE+$?))
- PENDING="$(echo "$PENDING" | tail -n +2)"
+ PENDING="$(echo "$PENDING" | sed 's/^ *[0-9]*//')"
done
[ $DONE -ne 0 ] && break
done
--
2.6.2