diff --git a/etc/rc.d/auto_linklocal b/etc/rc.d/auto_linklocal index 8278696d741a..28d03c0cd6f0 100644 --- a/etc/rc.d/auto_linklocal +++ b/etc/rc.d/auto_linklocal @@ -18,7 +18,10 @@ stop_cmd=":" auto_linklocal_start() { if ! checkyesno ipv6_enable && ${SYSCTL} net.inet6 > /dev/null 2>&1; then - ${SYSCTL_W} net.inet6.ip6.auto_linklocal=0 + if ! ${SYSCTL_W} net.inet6.ip6.auto_linklocal=0 >/dev/null 2>&1; then + warn "failed to set sysctl(8)" + return 1 + fi laddr=`network6_getladdr lo0` if [ -z "${laddr}" ]; then ifconfig lo0 inet6 fe80::1 prefixlen 64 diff --git a/etc/rc.d/power_profile b/etc/rc.d/power_profile index 7f64b7229575..03d36be5b380 100644 --- a/etc/rc.d/power_profile +++ b/etc/rc.d/power_profile @@ -50,7 +50,11 @@ sysctl_set () esac # Set the desired value - [ -n "${value}" ] && sysctl ${node}=${value} + if [ -n "${value}" ]; then + if ! sysctl ${node}=${value} > /dev/null 2>&1; then + warn "unable to set ${node}=${value}" + fi + fi } if [ $# -ne 1 ]; then diff --git a/etc/rc.d/sysctl b/etc/rc.d/sysctl index f83d7f8c83d2..c55cc846f46a 100644 --- a/etc/rc.d/sysctl +++ b/etc/rc.d/sysctl @@ -36,7 +36,9 @@ sysctl_start() ${val}) ;; *) - sysctl "${var}" + if ! sysctl "${var}" >/dev/null 2>&1; then + warn "unable to set ${var}" + fi ;; esac elif [ "$1" = "last" ]; then diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c index 9dcfcb06bfd9..bcb5a119b056 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -59,7 +59,7 @@ static const char rcsid[] = #include static int aflag, bflag, dflag, eflag, hflag, Nflag, nflag, oflag; -static int qflag, xflag; +static int qflag, xflag, warncount; static int oidfmt(int *, int, char *, u_int *); static void parse(char *); @@ -146,9 +146,11 @@ main(int argc, char **argv) exit(sysctl_all(0, 0)); if (argc == 0) usage(); + + warncount = 0; while (argc-- > 0) parse(*argv++); - exit(0); + exit(warncount); } /* @@ -304,6 +306,7 @@ parse(char *string) string); default: warn("%s", string); + warncount++; return; } }