sysctl: do not make unknown keys fatal

If unknown keys are found, currently sysctl would add all of its valid
settings, but then leave itself marked as "stopped".  Since this is not
really what we want, make unknown keys a non-fatal error.

Reported-by: Christian Ruppert <idl0r@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Mike Frysinger 2011-06-17 23:13:14 -04:00 committed by William Hubbs
parent 4eb37f67cf
commit 8947c00204

View File

@ -10,16 +10,25 @@ depend()
start()
{
local conf= retval=0
local conf= retval=0 err errs
ebegin "Configuring kernel parameters"
eindent
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then
vebegin "applying $conf"
sysctl -p "$conf" >/dev/null
if ! err=$(sysctl -q -p "$conf" 2>&1) ; then
errs="${errs} ${err}"
sysctl -q -e -p "${conf}"
fi
veend $? || retval=1
fi
done
eoutdent
eend $retval "Some errors were encountered"
if [ ${retval} -eq 0 ] && [ -n "${errs}" ] ; then
ewarn "Unknown keys:${errs}"
fi
eend $retval "Some errors were encountered: ${errs}"
}