sysupgrade: run only one instance at a time.

Things do not work well if running multiple instances of
upgrade at the same time.

Signed-off-by: Kenneth Johansson <kenneth.johansson@inteno.se>
openwrt-18.06
Kenneth Johansson 2017-05-24 13:45:37 +02:00 committed by John Crispin
parent 8e0e0e7d8b
commit e96a9a9af8
1 changed files with 14 additions and 0 deletions

View File

@ -47,6 +47,20 @@ while [ -n "$1" ]; do
shift;
done
# just one instance
if ! lock -n /tmp/sysupgrade.lock
then
echo "Another instance of sysupgrade already running"
echo "If you are sure this is wrong remove file /tmp/sysupgrade.lock"
exit 1
fi
# make sure the lock is removed when done even when killed
finish() {
lock -u /var/sysupgrade.lock
}
trap finish EXIT INT TERM
export CONFFILES=/tmp/sysupgrade.conffiles
export CONF_TAR=/tmp/sysupgrade.tgz