diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-04-30 22:59:18 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-04-30 22:59:18 +0000 |
commit | a55e31b51709c9fdfdf435c21c86d007b109f26e (patch) | |
tree | 30c145860775b82dd10af23cf5ee045ee7c44b9c /package/base-files | |
parent | 6c29c7e73ed38155fdc2b86e52d203dd3479945c (diff) |
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')
-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 |