uhttpd: Execute uci commit and reload_config once
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 20 Mar 2021 12:26:20 +0000 (13:26 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 21 Mar 2021 21:39:32 +0000 (22:39 +0100)
Instead of doing uci commit and reload_config for each setting do it
only once when one of these options was changed. This should make it a
little faster when both conditions are taken.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 501221af542b5154fbf8788f8426bc7f5443764a)

package/network/services/uhttpd/files/ubus.default

index b218d3f85d11a94534b36878e23db892ca721689..474016c1c55705597e2558560d589c0f40d81e56 100644 (file)
@@ -1,15 +1,17 @@
 #!/bin/sh
 
+commit=0
+
 if [ -z "$(uci -q get uhttpd.main.ubus_prefix)" ]; then
        uci set uhttpd.main.ubus_prefix=/ubus
-       uci commit uhttpd
-       /etc/init.d/uhttpd reload
+       commit=1
 fi
 
 [ "$(uci -q get uhttpd.main.ubus_socket)" = "/var/run/ubus.sock" ] && {
        uci set uhttpd.main.ubus_socket='/var/run/ubus/ubus.sock'
-       uci commit uhttpd
-       /etc/init.d/uhttpd reload
+       commit=1
 }
 
+[ "$commit" = 1 ] && uci commit uhttpd && /etc/init.d/uhttpd reload
+
 exit 0