Browse Source

tools/refresh-submodules.sh: don't exit, but wait if called in parallel.

Otherwise make thinks we're done, and we can get errors.  Include
primitive code if we abort build halfway and leave .refresh-submodules dir.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
bump-pyln-proto
Rusty Russell 4 years ago
committed by neil saitug
parent
commit
b3d5220da5
  1. 12
      tools/refresh-submodules.sh

12
tools/refresh-submodules.sh

@ -9,8 +9,18 @@ fi
[ -d .git ] || exit 0
# git submodule can't run in parallel. Really.
# Wait for it to finish if in parallel.
if ! mkdir .refresh-submodules 2>/dev/null ; then
exit 0
# If we don't make progress in ~60 seconds, force delete and retry.
LIMIT=$((50 + $$ % 20))
i=0
while [ $i -lt $LIMIT ]; do
[ -d .refresh-submodules ] || exit 0
sleep 1
i=$((i + 1))
done
rmdir .refresh-submodules
exec "$0" "$@" || exit 1
fi
trap "rmdir .refresh-submodules" EXIT

Loading…
Cancel
Save