diff --git a/+POST_INSTALL b/+POST_INSTALL index 1a927dfb7..d24fbf3a2 100644 --- a/+POST_INSTALL +++ b/+POST_INSTALL @@ -16,7 +16,7 @@ cp /etc/rc /etc/rc.bak cat > /etc/rc <> /etc/rc rm -f /etc/rc.bak @@ -26,7 +26,7 @@ cp /etc/rc.shutdown /etc/rc.shutdown.bak cat > /etc/rc.shutdown <> /etc/rc.shutdown rm -f /etc/rc.shutdown.bak diff --git a/plist b/plist index dd26d60a3..db00f2a63 100644 --- a/plist +++ b/plist @@ -129,6 +129,7 @@ /usr/local/etc/rc.syshook.d/90-carp.start /usr/local/etc/rc.syshook.d/90-cron.start /usr/local/etc/rc.syshook.d/95-beep.start +/usr/local/etc/rc.syshook.d/99-config.stop /usr/local/etc/rc.syshook.d/backup/20-captiveportal /usr/local/etc/rc.syshook.d/backup/20-dhcpleases /usr/local/etc/rc.syshook.d/backup/20-duid diff --git a/src/etc/rc.halt b/src/etc/rc.halt index 36d940bf5..9ed4c4609 100755 --- a/src/etc/rc.halt +++ b/src/etc/rc.halt @@ -1,5 +1,5 @@ #!/bin/sh -. /usr/local/etc/rc.shutdown +/usr/local/etc/rc.syshook stop -/sbin/shutdown -op now +exec /sbin/shutdown -op now diff --git a/src/etc/rc.reboot b/src/etc/rc.reboot index 821ff1538..250acc196 100755 --- a/src/etc/rc.reboot +++ b/src/etc/rc.reboot @@ -1,5 +1,5 @@ #!/bin/sh -. /usr/local/etc/rc.shutdown +/usr/local/etc/rc.syshook stop -/sbin/shutdown -or now +exec /sbin/shutdown -or now diff --git a/src/etc/rc.shutdown b/src/etc/rc.shutdown index bd048ce43..ae310c0a9 100755 --- a/src/etc/rc.shutdown +++ b/src/etc/rc.shutdown @@ -1,13 +1,4 @@ #!/bin/sh # shutdown syshook / plugin scripts -/usr/local/etc/rc.syshook stop - -# wait for config lock to release -php -a >/dev/null << EOF -\$fp = fopen('/conf/config.xml', "a+"); -if (flock(\$fp, LOCK_EX)) { - flock(\$fp, LOCK_UN); - fclose(\$fp); -} -EOF +exec /usr/local/etc/rc.syshook stop diff --git a/src/etc/rc.syshook.d/99-config.stop b/src/etc/rc.syshook.d/99-config.stop new file mode 100755 index 000000000..8f4856304 --- /dev/null +++ b/src/etc/rc.syshook.d/99-config.stop @@ -0,0 +1,8 @@ +#!/usr/local/bin/php +