@ -340,15 +340,10 @@ setup_interface() {
setup_interface_static " $iface " " $config "
setup_interface_static " $iface " " $config "
; ;
; ;
dhcp)
dhcp)
local lockfile = " /var/lock/dhcp- $iface "
# kill running udhcpc instance
lock " $lockfile "
# prevent udhcpc from starting more than once
local pidfile = " /var/run/dhcp- ${ iface } .pid "
local pidfile = " /var/run/dhcp- ${ iface } .pid "
local pid = " $( cat " $pidfile " 2>/dev/null) "
service_kill udhcpc " $pidfile "
if [ -d " /proc/ $pid " ] && grep -qs udhcpc " /proc/ ${ pid } /cmdline " ; then
lock -u " $lockfile "
else
local ipaddr netmask hostname proto1 clientid broadcast
local ipaddr netmask hostname proto1 clientid broadcast
config_get ipaddr " $config " ipaddr
config_get ipaddr " $config " ipaddr
config_get netmask " $config " netmask
config_get netmask " $config " netmask
@ -371,9 +366,6 @@ setup_interface() {
${ clientid : +-c $clientid } \
${ clientid : +-c $clientid } \
-b -p " $pidfile " $broadcast \
-b -p " $pidfile " $broadcast \
${ dhcpopts :- -O rootpath -R & }
${ dhcpopts :- -O rootpath -R & }
lock -u " $lockfile "
fi
; ;
; ;
none)
none)
setup_interface_none " $iface " " $config "
setup_interface_none " $iface " " $config "
@ -401,12 +393,7 @@ stop_interface_dhcp() {
remove_dns " $config "
remove_dns " $config "
local pidfile = " /var/run/dhcp- ${ ifname } .pid "
local pidfile = " /var/run/dhcp- ${ ifname } .pid "
local pid = " $( cat " $pidfile " 2>/dev/null) "
service_kill udhcpc " $pidfile "
[ -d " /proc/ $pid " ] && {
grep -qs udhcpc " /proc/ $pid /cmdline " && kill -TERM $pid && \
while grep -qs udhcpc " /proc/ $pid /cmdline " ; do sleep 1; done
rm -f " $pidfile "
}
uci -P /var/state revert " network. $config "
uci -P /var/state revert " network. $config "
}
}