[LEDE-DEV] [PATCH] sysupgrade: run only one instance at a time.
Kenneth Johansson
kenneth.johansson at inteno.se
Mon Apr 3 06:21:43 PDT 2017
Things do not work well if running multiple instances of
upgrade at the same time.
Signed-off-by: Kenneth Johansson <kenneth.johansson at inteno.se>
---
package/base-files/files/sbin/sysupgrade | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index c095ca8..491928c 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -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
--
2.7.4
More information about the Lede-dev
mailing list