aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files
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
commit8a65d783ae006776a401c8a9baeb4d5274aec309 (patch)
tree30c145860775b82dd10af23cf5ee045ee7c44b9c /package/base-files/files
parent9061cd2d81c02a06fb6d66cac990c6397175f018 (diff)
downloadupstream-8a65d783ae006776a401c8a9baeb4d5274aec309.tar.gz
upstream-8a65d783ae006776a401c8a9baeb4d5274aec309.tar.bz2
upstream-8a65d783ae006776a401c8a9baeb4d5274aec309.zip
rcS: wait for init scripts to complete before initiating the shutdown (patch from #5032)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15530 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files')
-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 85064248e4..12226be788 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 8c9114d336..c135024bea 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