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/files/etc | |
| 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/files/etc')
| -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 85064248e..12226be78 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 8c9114d33..c135024be 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 | 
