summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-04-30 22:59:18 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-04-30 22:59:18 +0000
commitcbd52550bdc805409f2e354d7e3c0a5e8044ac28 (patch)
tree61098a571d6530de005d8a90f20a2355e802f020
parent2a48c43b7f0a79fdcb112915e54623f3364ac488 (diff)
downloadmtk-20170518-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.zip
mtk-20170518-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.tar.gz
mtk-20170518-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.tar.bz2
rcS: wait for init scripts to complete before initiating the shutdown (patch from #5032)
SVN-Revision: 15530
-rwxr-xr-xpackage/base-files/files/etc/init.d/boot2
-rwxr-xr-xpackage/base-files/files/etc/init.d/rcS16
2 files changed, 12 insertions, 6 deletions
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
index 8506424..12226be 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -52,7 +52,7 @@ start() {
killall -q hotplug2
[ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \
- --max-children 1 --no-coldplug &
+ --max-children 1 --no-coldplug >/dev/null 2>&1 &
# the coldplugging of network interfaces needs to happen later, so we do it manually here
for iface in $(awk -F: '/:/ {print $1}' /proc/net/dev); do
diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS
index 8c9114d..c135024 100755
--- a/package/base-files/files/etc/init.d/rcS
+++ b/package/base-files/files/etc/init.d/rcS
@@ -1,11 +1,17 @@
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
+run_scripts() {
+ for i in /etc/rc.d/$1*; do
+ [ -x $i ] && $i $2 2>&1
+ done | $LOGGER
+}
+
LOGGER="cat"
[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
-{
- for i in /etc/rc.d/$1*; do
- [ -x $i ] && $i $2 2>&1
- done
-} | $LOGGER &
+if [ "$1" = "S" ]; then
+ run_scripts "$1" "$2" &
+else
+ run_scripts "$1" "$2"
+fi