mountman/app/app

26 lines
464 B
Bash
Executable File

#!/usr/bin/env bash
set -e
APP_CMD="$(realpath "$BASH_SOURCE")"
APP_DIR="$(dirname "$APP_CMD")"
source "$APP_DIR/env"
source "$APP_DIR/cmd/trap"
echo "Locking '/run/$APP_NAME/lock' ..." >&2
mkdir -p "/run/$APP_NAME"
exec 100>"/run/$APP_NAME/lock"
set +e
while true; do
source "$APP_DIR/cmd/trap"
if flock -e -n 100; then
break
fi
source "$APP_DIR/cmd/untrap"
sleep 1
done
set +e
bash "$APP_DIR/cmd/main" "${@}"
EXITCODE="$?"
flock -u 100
exit "$EXITCODE"