diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-04-30 22:59:18 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-04-30 22:59:18 +0000 |
commit | cbd52550bdc805409f2e354d7e3c0a5e8044ac28 (patch) | |
tree | 61098a571d6530de005d8a90f20a2355e802f020 | |
parent | 2a48c43b7f0a79fdcb112915e54623f3364ac488 (diff) | |
download | master-31e0f0ae-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.tar.gz master-31e0f0ae-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.tar.bz2 master-31e0f0ae-cbd52550bdc805409f2e354d7e3c0a5e8044ac28.zip |
rcS: wait for init scripts to complete before initiating the shutdown (patch from #5032)
SVN-Revision: 15530
-rwxr-xr-x | package/base-files/files/etc/init.d/boot | 2 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/rcS | 16 |
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 |