Revert "rc: implement parallel boot"

This is not ready yet for prime time

This reverts commit 763db58932.
This reverts commit f1ab799927.
This reverts commit 6e822e9957.
This reverts commit 77e1ccbee3.
This commit is contained in:
Baptiste Daroussin 2021-03-09 14:25:32 +01:00
parent b3dac3913d
commit f61831d2e8

View File

@ -91,36 +91,22 @@ if ! [ -e ${firstboot_sentinel} ]; then
skip_firstboot="-s firstboot" skip_firstboot="-s firstboot"
fi 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 # 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 # 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=' ' _rc_elem_done=' '
oldifs="$IFS" for _rc_elem in ${files}; do
IFS=$'\n' run_rc_script ${_rc_elem} ${_boot}
for _rc_group in ${files}; do _rc_elem_done="${_rc_elem_done}${_rc_elem} "
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 case "$_rc_elem" in
*/${early_late_divider}) break ;; */${early_late_divider}) break ;;
esac esac
done
wait
IFS=$'\n'
done done
unset files local_rc unset files local_rc
IFS="$oldifs"
# Now that disks are mounted, for each dir in $local_startup # Now that disks are mounted, for each dir in $local_startup
# search for init scripts that use the new rc.d semantics. # search for init scripts that use the new rc.d semantics.
@ -136,21 +122,14 @@ if [ -e ${firstboot_sentinel} ]; then
skip_firstboot="" skip_firstboot=""
fi fi
files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} ${_rc_parallel} 2>/dev/null` files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} 2>/dev/null`
IFS=$'\n' for _rc_elem in ${files}; do
for _rc_group in ${files}; do case "$_rc_elem_done" in
IFS="$oldifs" *" $_rc_elem "*) continue ;;
for _rc_elem in ${_rc_group}; do esac
case "$_rc_elem_done" in
*" $_rc_elem "*) continue ;;
esac
run_rc_script ${_rc_elem} ${_boot} & run_rc_script ${_rc_elem} ${_boot}
done
wait
IFS=$'\n'
done done
IFS="$oldifs"
# Remove the firstboot sentinel, and reboot if it was requested. # Remove the firstboot sentinel, and reboot if it was requested.
# Be a bit paranoid about removing it to handle the common failure # Be a bit paranoid about removing it to handle the common failure