diff options
Diffstat (limited to 'package/base-files-network/files')
| -rwxr-xr-x | package/base-files-network/files/lib/network/config.sh | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/package/base-files-network/files/lib/network/config.sh b/package/base-files-network/files/lib/network/config.sh index 74810e47d..da45089df 100755 --- a/package/base-files-network/files/lib/network/config.sh +++ b/package/base-files-network/files/lib/network/config.sh @@ -1,5 +1,5 @@  #!/bin/sh -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org  # DEBUG="echo" @@ -368,7 +368,9 @@ setup_interface() {  		dhcp)  			# kill running udhcpc instance  			local pidfile="/var/run/dhcp-${iface}.pid" -			service_kill udhcpc "$pidfile" + +			SERVICE_PID_FILE="$pidfile" \ +			service_stop udhcpc  			local ipaddr netmask hostname proto1 clientid vendorid broadcast reqopts  			config_get ipaddr "$config" ipaddr @@ -393,7 +395,8 @@ setup_interface() {  			[ "$proto1" != "$proto" ] && append dhcpopts "-n -q" || append dhcpopts "-O rootpath -R &"  			[ "$broadcast" = 1 ] && broadcast="-O broadcast" || broadcast= -			$DEBUG eval udhcpc -t 0 -i "$iface" \ +			SERVICE_PID_FILE="$pidfile" \ +			service_start /sbin/udhcpc -t 0 -i "$iface" \  				${ipaddr:+-r $ipaddr} \  				${hostname:+-H $hostname} \  				${clientid:+-c $clientid} \ @@ -426,8 +429,8 @@ stop_interface_dhcp() {  	remove_dns "$config" -	local pidfile="/var/run/dhcp-${ifname}.pid" -	service_kill udhcpc "$pidfile" +	SERVICE_PID_FILE="/var/run/dhcp-${ifname}.pid" \ +	service_stop /sbin/udhcpc  	uci -P /var/state revert "network.$config"  } | 
