Setting rc scripts default values

Vasil Dimov vd at FreeBSD.org
Fri Feb 23 06:34:29 UTC 2007


On Thu, Feb 22, 2007 at 16:25:26 -0600, Brooks Davis wrote:
> On Thu, Feb 22, 2007 at 07:26:58PM +0200, Vasil Dimov wrote:
> > Hi,
> > 
> > Is there any special reason to write the rc scripts this way:
> > 
> > load_rc_config "$name"
> > : ${rsyncd_enable="NO"}
> > 
> > instead of this way:
> > 
> > rsyncd_enable="NO"
> > load_rc_config "$name"
> > 
> > apache does it this way:
> > 
> > apache_enable=${apache_enable-"NO"}
> > load_rc_config $name
> > 
> > but I think it can safely be changed to
> > 
> > apache_enable="NO"
> > load_rc_config $name
> > 
> > What did I miss...
> 
> load_rc_config doesn't reread /etc/rc.conf every time.

Hmmz, I see that load_rc_config() does not reread /etc/rc.conf only if
_rc_conf_loaded is set. The only place where _rc_conf_loaded is set is
in load_rc_config() itself after it reads /etc/rc.conf. load_rc_config()
is not called anywhere in rc.subr [1].

Can you show me a scenario where this code:

. /etc/rc.subr
rcvar=`set_rcvar`
foo_enable="NO"
load_rc_config ${name}  # foo_enable="YES" is in /etc/rc.conf

ends up with foo_enable="NO"?

Thanks.

[1] actually it is called from load_rc_config_var() but in a subshell.

-- 
Vasil Dimov
gro.DSBeerF at dv
%
Testing can show the presense of bugs, but not their absence.
                -- Edsger W. Dijkstra
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 155 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-rc/attachments/20070223/0b40b74d/attachment.pgp


More information about the freebsd-rc mailing list