rc: save and restore $IFS
Fix another bug in77e1ccbee3
. $IFS should be fully restored for its other users. PR: 249192 Reported by: jkim MFC after: 3 weeks X-MFC with:77e1ccbee3
This commit is contained in:
parent
589e4c1df4
commit
763db58932
@ -103,9 +103,10 @@ checkyesno rc_parallel_start && _rc_parallel='-p'
|
||||
files=`rcorder ${skip} ${skip_firstboot} ${_rc_parallel} /etc/rc.d/* 2>/dev/null`
|
||||
|
||||
_rc_elem_done=' '
|
||||
oldifs="$IFS"
|
||||
IFS=$'\n'
|
||||
for _rc_group in ${files}; do
|
||||
unset IFS
|
||||
IFS="$oldifs"
|
||||
for _rc_elem in ${_rc_group}; do
|
||||
run_rc_script ${_rc_elem} ${_boot} &
|
||||
_rc_elem_done="${_rc_elem_done}${_rc_elem} "
|
||||
@ -119,7 +120,7 @@ for _rc_group in ${files}; do
|
||||
done
|
||||
|
||||
unset files local_rc
|
||||
unset IFS
|
||||
IFS="$oldifs"
|
||||
|
||||
# Now that disks are mounted, for each dir in $local_startup
|
||||
# search for init scripts that use the new rc.d semantics.
|
||||
@ -138,7 +139,7 @@ fi
|
||||
files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} ${_rc_parallel} 2>/dev/null`
|
||||
IFS=$'\n'
|
||||
for _rc_group in ${files}; do
|
||||
unset IFS
|
||||
IFS="$oldifs"
|
||||
for _rc_elem in ${_rc_group}; do
|
||||
case "$_rc_elem_done" in
|
||||
*" $_rc_elem "*) continue ;;
|
||||
@ -149,7 +150,7 @@ for _rc_group in ${files}; do
|
||||
wait
|
||||
IFS=$'\n'
|
||||
done
|
||||
unset IFS
|
||||
IFS="$oldifs"
|
||||
|
||||
# Remove the firstboot sentinel, and reboot if it was requested.
|
||||
# Be a bit paranoid about removing it to handle the common failure
|
||||
|
Loading…
Reference in New Issue
Block a user