Some checks failed
sm-rpc / build (Debug, arm-linux-gnueabihf) (push) Successful in 1m34s
sm-rpc / build (Debug, aarch64-linux-gnu) (push) Successful in 2m46s
sm-rpc / build (Debug, host.gcc) (push) Failing after 1m28s
sm-rpc / build (Release, aarch64-linux-gnu) (push) Successful in 2m14s
sm-rpc / build (Release, arm-linux-gnueabihf) (push) Successful in 2m8s
sm-rpc / build (Debug, mipsel-linux-gnu) (push) Successful in 5m35s
sm-rpc / build (Release, host.gcc) (push) Failing after 1m55s
sm-rpc / build (Release, mipsel-linux-gnu) (push) Successful in 7m21s
31 lines
740 B
Bash
Executable File
31 lines
740 B
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# Container entrypoint that waits for all spawned processes.
|
|
#
|
|
|
|
set -e -u
|
|
|
|
# Create a FIFO and start reading from its read end.
|
|
tempdir=$(mktemp -d "/tmp/done.XXXXXXXXXX")
|
|
trap 'rm -r "$tempdir"' EXIT
|
|
done="$tempdir/pipe"
|
|
mkfifo "$done"
|
|
cat "$done" & waiter=$!
|
|
|
|
# Start the workload. Its descendants will inherit the FIFO's write end.
|
|
status=0
|
|
if [ "$#" -eq 0 ]; then
|
|
bash 9>"$done" || status=$?
|
|
else
|
|
"$@" 9>"$done" || status=$?
|
|
fi
|
|
|
|
# When the workload and all of its descendants exit, the FIFO's write end will
|
|
# be closed and `cat "$done"` will exit. Wait until it happens. This is needed
|
|
# in order to handle SelfUpdater, which the workload may start in background
|
|
# before exiting.
|
|
wait "$waiter"
|
|
|
|
exit "$status"
|