From a5e34813e36ce3e11bad13d65dca92ef1c1eb913 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 11 Oct 2010 22:56:58 +0000 Subject: libs/uci: prevent concurrent luci-reload instances, write currently processed init script to status file --- libs/uci/root/sbin/luci-reload | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libs/uci') diff --git a/libs/uci/root/sbin/luci-reload b/libs/uci/root/sbin/luci-reload index b6b1ff6ce..24cf76064 100755 --- a/libs/uci/root/sbin/luci-reload +++ b/libs/uci/root/sbin/luci-reload @@ -5,7 +5,9 @@ apply_config() { config_get init "$1" init config_get exec "$1" exec config_get test "$1" test - + + echo "$2" > "/var/run/luci-reload-status" + [ -n "$init" ] && reload_init "$2" "$init" "$test" [ -n "$exec" ] && reload_exec "$2" "$exec" "$test" } @@ -26,9 +28,13 @@ reload_init() { } } +lock "/var/run/luci-reload" + config_load ucitrack -for i in $* -do +for i in $*; do config_foreach apply_config $i $i done + +rm -f "/var/run/luci-reload-status" +lock -u "/var/run/luci-reload" -- cgit v1.2.3