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:
		
				
					committed by
					
						 William Hubbs
						William Hubbs
					
				
			
			
				
	
			
			
			
						parent
						
							4eb37f67cf
						
					
				
				
					commit
					8947c00204
				
			| @@ -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}" | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user