From eafa2ec9622a34a100c44a46e9cb30b90c8aade8 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Tue, 13 Apr 2010 19:57:25 +0000
Subject: [PATCH] option to allow boot to run to completion before starting
 shell

Setting the system variable "foreground" to yes causes the system to run
the init scripts in series and wait for completion.

This is useful if (a) you don't want the user getting into the console
until the system is initialized, or (b) you have things going on in your
scripts that require strict ordering (and no possible race conditions).

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 20841
---
 package/base-files/files/etc/init.d/rcS | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS
index c135024bea..ea40d68bed 100755
--- a/package/base-files/files/etc/init.d/rcS
+++ b/package/base-files/files/etc/init.d/rcS
@@ -10,7 +10,12 @@ run_scripts() {
 LOGGER="cat"
 [ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
 
-if [ "$1" = "S" ]; then
+. /etc/functions.sh
+
+config_load system
+config_get_bool foreground system foreground no
+
+if [ "$1" = "S" -a "$foreground" != "yes" ]; then
 	run_scripts "$1" "$2" &
 else
 	run_scripts "$1" "$2"
-- 
2.30.2