Making use of set_rcvar.

Pawel Jakub Dawidek pjd at FreeBSD.org
Fri Jan 6 15:26:40 UTC 2012


On Fri, Jan 06, 2012 at 04:17:40PM +0100, Jilles Tjoelker wrote:
> On Fri, Jan 06, 2012 at 03:13:03PM +0100, Pawel Jakub Dawidek wrote:
> > Any objections?
> 
> > 	http://people.freebsd.org/~pjd/patches/set_rcvar.patch
> 
> > This patch only changes scripts where set_rcvar can be used with no
> > arguments.
> 
> While this makes the scripts cleaner, it will lead to extra forks with
> the current implementation of sh which will slow down boot to some
> extent. The effect is small on x86 but may be large on embedded
> platforms.

That was my concern as well, but I was under impression that using
set_rcvar is preferred. I'm fine either way, but would like it to be
consistent across system startup scripts. I like using set_rcvar as it
eliminates typing name in one more place. Very handy when you create
your own script by changing existing one.

> If I could change history, I would have forbidden calling a function
> from a command substitution like that in the template. Instead, the
> function should be called normally and should set the variable itself.
> However, I think that cannot be changed anymore.
> 
> I have a fairly small patch to sh to eliminate the fork when expanding
> $(set_rcvar). However, one could object that this does not add true new
> capabilities but only a new notation to the part of the language that
> executes without forks (because the function could write into a variable
> instead of being command-substituted).

Wouldn't it be helpful to define name before loading rc.subr? This would
make the scripts less pretty, though.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://yomoli.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-rc/attachments/20120106/bb233b2b/attachment.pgp


More information about the freebsd-rc mailing list