From 5dd6901b2bee0a4e94d68388c7214513653102a1 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Mon, 11 Jun 2018 00:03:43 +0200 Subject: [PATCH] rc: sprinkle more exec, better rc.syshook usage in shutdown --- +POST_INSTALL | 4 ++-- plist | 1 + src/etc/rc.halt | 4 ++-- src/etc/rc.reboot | 4 ++-- src/etc/rc.shutdown | 11 +---------- src/etc/rc.syshook.d/99-config.stop | 8 ++++++++ 6 files changed, 16 insertions(+), 16 deletions(-) create mode 100755 src/etc/rc.syshook.d/99-config.stop 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 +