Date: Fri, 29 Apr 2011 11:56:58 -0700 From: Doug Barton <dougb@FreeBSD.org> To: Ryan Stone <rysto32@gmail.com> Cc: freebsd-rc@freebsd.org Subject: Re: rc.d scripts can be missed if they aren't ordered with respect to the early-late divider Message-ID: <4DBB09FA.1040108@FreeBSD.org> In-Reply-To: <4DBB01D9.2060805@FreeBSD.org> References: <BANLkTi=FH4DeB-bH9Dcre_U-5J%2BP%2B3o_BA@mail.gmail.com> <4DBB01D9.2060805@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] The attached patch works, is probably cleaner than the existing code, and since the list of things run early is small is certainly no slower than the existing code. Using a space-separated list also has the advantage of not being limited to the format of filenames that it supports. I'll commit it later today unless I get an objection. -- Nothin' ever doesn't change, but nothin' changes much. -- OK Go Breadth of IT experience, and depth of knowledge in the DNS. Yours for the right price. :) http://SupersetSolutions.com/ [-- Attachment #2 --] Index: rc =================================================================== --- rc (revision 221216) +++ rc (working copy) @@ -84,8 +84,10 @@ # files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null` +_rc_elem_done=' ' 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 ;; @@ -103,14 +105,9 @@ esac files=`rcorder ${skip} /etc/rc.d/* ${local_rc} 2>/dev/null` -_skip_early=1 for _rc_elem in ${files}; do - case "$_skip_early" in - 1) case "$_rc_elem" in - */${early_late_divider}) _skip_early=0 ;; - esac - continue - ;; + case "$_rc_elem_done" in + *" $_rc_elem "*) continue ;; esac run_rc_script ${_rc_elem} ${_boot}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DBB09FA.1040108>
