Module Name: src Committed By: roy Date: Thu Jan 7 22:03:00 UTC 2016
Modified Files: src/etc/rc.d: dhcpcd Log Message: Use the new -P option to work out which pidfile dhcpcd will use. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/etc/rc.d/dhcpcd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/etc/rc.d/dhcpcd diff -u src/etc/rc.d/dhcpcd:1.4 src/etc/rc.d/dhcpcd:1.5 --- src/etc/rc.d/dhcpcd:1.4 Fri Oct 16 18:06:22 2015 +++ src/etc/rc.d/dhcpcd Thu Jan 7 22:03:00 2016 @@ -1,5 +1,7 @@ #!/bin/sh +# $NetBSD: dhcpcd,v 1.5 2016/01/07 22:03:00 roy Exp $ + # PROVIDE: dhcpcd # REQUIRE: network mountcritlocal # BEFORE: NETWORKING @@ -13,28 +15,14 @@ extra_commands="reload" load_rc_config $name -# If the last argument to dhcpcd is a valid interface and the prior argument -# is not then dhcpcd will start on one interface only and create a pidfile -# based on the interface name. See PR bin/43490. +# Work out what pidfile dhcpcd will use based on flags if [ -n "$flags" ]; then myflags=$flags else eval myflags=\$${name}_flags fi -ifname="${myflags##* }" -myflags="${myflags%% $ifname}" -last_flag="${myflags##* }" -# Address the problem of having just dhcpcd_flags=wm0 -if [ "$myflags" = "$last_flag" ]; then - last_flag="invalidinterfacename" -fi -if /sbin/ifconfig "$ifname" >/dev/null 2>&1 && - ! /sbin/ifconfig "$last_flag" >/dev/null 2>&1 -then - pidfile=/var/run/$name-"$ifname".pid -else - pidfile=/var/run/$name.pid -fi -unset myflags ifname last_flag +pidfile=$(eval $command -P $myflags 2>/dev/null) +: ${pidfile:=/var/run/$name.pid} +unset myflags run_rc_command "$1"