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() start()
{ {
local conf= retval=0 local conf= retval=0 err errs
ebegin "Configuring kernel parameters" ebegin "Configuring kernel parameters"
eindent eindent
for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do
if [ -r "$conf" ]; then if [ -r "$conf" ]; then
vebegin "applying $conf" 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 veend $? || retval=1
fi fi
done done
eoutdent 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}"
} }