mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-26 08:18:27 +00:00
Merge pull request #296 from klightspeed/1.4#lockupdate
Prevent multiple updates from occurring concurrently
This commit is contained in:
commit
d7fc3bb3a2
@ -769,6 +769,22 @@ doUpdate() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "$$" >"${arkserverroot}/.ark-update.lock.$$"
|
||||||
|
while true; do
|
||||||
|
if ! ln "${arkserverroot}/.ark-update.lock.$$" "${arkserverroot}/.ark-update.lock"; then
|
||||||
|
local lockpid="$(<"${arkserverroot}/.ark-update.lock")"
|
||||||
|
if [ -n "$lockpid" ] && [ "$lockpid" != "$$" ] && kill -0 "$lockpid"; then
|
||||||
|
echo "Update already in progress (PID: $lockpid)"
|
||||||
|
rm -f "${arkserverroot}/.ark-update.lock.$$"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
rm -f "${arkserverroot}/.ark-update.lock"
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -f "${arkserverroot}/.ark-update.lock.$$"
|
||||||
|
|
||||||
if [ -n "$modupdate" ]; then
|
if [ -n "$modupdate" ]; then
|
||||||
if ! doDownloadAllMods; then
|
if ! doDownloadAllMods; then
|
||||||
modupdate=
|
modupdate=
|
||||||
@ -843,6 +859,8 @@ doUpdate() {
|
|||||||
echo "Your server is already up to date! The most recent version is ${bnumber}."
|
echo "Your server is already up to date! The most recent version is ${bnumber}."
|
||||||
echo "`timestamp`: No update needed." >> "$logdir/update.log"
|
echo "`timestamp`: No update needed." >> "$logdir/update.log"
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
rm -f "${arkserverroot}/.ark-update.lock"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user