From a6b067b41bddad4b00b8cc1e1109a50786ff9380 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 30 Apr 2009 22:59:18 +0000 Subject: [PATCH] rcS: wait for init scripts to complete before initiating the shutdown (patch from #5032) SVN-Revision: 15530 --- 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(-) 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 -- 2.30.2