From 8947c00204e771a669433708de7aa740dca9d16c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 17 Jun 2011 23:13:14 -0400 Subject: 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 Signed-off-by: Mike Frysinger --- init.d/sysctl.Linux.in | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/init.d/sysctl.Linux.in b/init.d/sysctl.Linux.in index 83e75368..19b4942a 100644 --- a/init.d/sysctl.Linux.in +++ b/init.d/sysctl.Linux.in @@ -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}" } -- cgit v1.2.3