From a55e31b51709c9fdfdf435c21c86d007b109f26e Mon Sep 17 00:00:00 2001 From: nbd Date: Thu, 30 Apr 2009 22:59:18 +0000 Subject: 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 --- package/base-files/files/etc/init.d/boot | 2 +- package/base-files/files/etc/init.d/rcS | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'package/base-files/files') 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 -- cgit v1.2.3