From f61831d2e8bd44b6568b00d538e738c25190bb96 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Tue, 9 Mar 2021 14:25:32 +0100 Subject: [PATCH] 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. --- libexec/rc/rc | 47 +++++++++++++---------------------------------- 1 file changed, 13 insertions(+), 34 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} " +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 - wait - IFS=$'\n' + 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 +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 - wait - IFS=$'\n' + 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