aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2021-03-09 13:25:32 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2021-03-09 13:26:07 +0000
commitf61831d2e8bd44b6568b00d538e738c25190bb96 (patch)
tree5261c8169fe30d9b91d01b0f0a324ae9acd91964
parentb3dac3913dc90fbc6f909ee5c4a876097cd90791 (diff)
downloadsrc-f61831d2e8bd44b6568b00d538e738c25190bb96.tar.gz
src-f61831d2e8bd44b6568b00d538e738c25190bb96.zip
Revert "rc: implement parallel boot"
This is not ready yet for prime time This reverts commit 763db58932874bb47fc6f9322ab81cc947f80991. This reverts commit f1ab799927c8e93e8f58e5039f287a2ca45675ec. This reverts commit 6e822e99570fdf4c564be04840a054bccc070222. This reverts commit 77e1ccbee3ed6c837929e4e232fd07f95bfc8294.
-rw-r--r--libexec/rc/rc51
1 files changed, 15 insertions, 36 deletions
diff --git a/libexec/rc/rc b/libexec/rc/rc
index 2cb840e68919..35db4a850516 100644
--- a/libexec/rc/rc
+++ b/libexec/rc/rc
@@ -91,36 +91,22 @@ if ! [ -e ${firstboot_sentinel} ]; then
skip_firstboot="-s firstboot"
fi
-# rc_parallel_start default is "NO"
-rc_parallel_start=${rc_parallel_start:-NO}
-_rc_parallel=''
-# enable rcorder -p if /etc/rc.conf rc_parallel_start is "YES"
-checkyesno rc_parallel_start && _rc_parallel='-p'
-
# Do a first pass to get everything up to $early_late_divider so that
# we can do a second pass that includes $local_startup directories
#
-files=`rcorder ${skip} ${skip_firstboot} ${_rc_parallel} /etc/rc.d/* 2>/dev/null`
+files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* 2>/dev/null`
_rc_elem_done=' '
-oldifs="$IFS"
-IFS=$'\n'
-for _rc_group in ${files}; do
- IFS="$oldifs"
- for _rc_elem in ${_rc_group}; do
- run_rc_script ${_rc_elem} ${_boot} &
- _rc_elem_done="${_rc_elem_done}${_rc_elem} "
-
- case "$_rc_elem" in
- */${early_late_divider}) break ;;
- esac
- done
- wait
- IFS=$'\n'
+for _rc_elem in ${files}; do
+ run_rc_script ${_rc_elem} ${_boot}
+ _rc_elem_done="${_rc_elem_done}${_rc_elem} "
+
+ case "$_rc_elem" in
+ */${early_late_divider}) break ;;
+ esac
done
unset files local_rc
-IFS="$oldifs"
# Now that disks are mounted, for each dir in $local_startup
# search for init scripts that use the new rc.d semantics.
@@ -136,21 +122,14 @@ if [ -e ${firstboot_sentinel} ]; then
skip_firstboot=""
fi
-files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} ${_rc_parallel} 2>/dev/null`
-IFS=$'\n'
-for _rc_group in ${files}; do
- IFS="$oldifs"
- for _rc_elem in ${_rc_group}; do
- case "$_rc_elem_done" in
- *" $_rc_elem "*) continue ;;
- esac
-
- run_rc_script ${_rc_elem} ${_boot} &
- done
- wait
- IFS=$'\n'
+files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} 2>/dev/null`
+for _rc_elem in ${files}; do
+ case "$_rc_elem_done" in
+ *" $_rc_elem "*) continue ;;
+ esac
+
+ run_rc_script ${_rc_elem} ${_boot}
done
-IFS="$oldifs"
# Remove the firstboot sentinel, and reboot if it was requested.
# Be a bit paranoid about removing it to handle the common failure