X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/c1fef4b90b24910417ab90db58bde7d2f7c3f6ea..f6d755eda4c0e0a068aa8de2504e16ab81a20bc0:/package/base-files/files/etc/init.d/rcS diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS index 4090aba80..3b8043209 100755 --- a/package/base-files/files/etc/init.d/rcS +++ b/package/base-files/files/etc/init.d/rcS @@ -1,11 +1,26 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org -LOGGER="cat" -[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t ''" - -{ +run_scripts() { for i in /etc/rc.d/$1*; do [ -x $i ] && $i $2 2>&1 - done -} | $LOGGER & + done | $LOGGER +} + +system_config() { + config_get_bool foreground $1 foreground 0 +} + +LOGGER="cat" +[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit" + +. /etc/functions.sh + +config_load system +config_foreach system_config system + +if [ "$1" = "S" -a "$foreground" != "1" ]; then + run_scripts "$1" "$2" & +else + run_scripts "$1" "$2" +fi