Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/share/poudriere/include/parallel.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/share/poudriere/include/parallel.sh b/src/share/poudriere/include/parallel.sh
index 10278b46..d6b60760 100644
--- a/src/share/poudriere/include/parallel.sh
+++ b/src/share/poudriere/include/parallel.sh
@@ -200,15 +200,18 @@ parallel_shutdown() {
parallel_run() {
local cmd="$1"
+ local ret
shift 1
+ ret=0
+
# Occasionally reap dead children. Don't do this too often or it
# becomes a bottleneck. Do it too infrequently and there is a risk
# of PID reuse/collision
_SHOULD_REAP=$((${_SHOULD_REAP} + 1))
if [ ${_SHOULD_REAP} -eq 16 ]; then
_SHOULD_REAP=0
- _reap_children || return $?
+ _reap_children || ret=$?
fi
# Only read once all slots are taken up; burst jobs until maxed out.
@@ -220,6 +223,8 @@ parallel_run() {
[ ${NBPARALLEL} -lt ${PARALLEL_JOBS} ] && NBPARALLEL=$((NBPARALLEL + 1))
PARALLEL_CHILD=1 parallel_exec $cmd "$@" &
PARALLEL_PIDS="${PARALLEL_PIDS} $! "
+
+ return ${ret}
}
nohang() {