X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ebccf413f5cbefec33d45f688b84127088aa80e8..b7d3d9d3cef2286b7266dc447265a0a21565b9b9:/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 8c9114d33..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 +run_scripts() { + for i in /etc/rc.d/$1*; do + [ -x $i ] && $i $2 2>&1 + done | $LOGGER +} + +system_config() { + config_get_bool foreground $1 foreground 0 +} + 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 & +. /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