hopefully fix duplicate ppp instances (#895)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5577 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
6dc106401c
commit
1d7168260e
|
@ -30,7 +30,7 @@ done
|
||||||
|
|
||||||
# kill active ppp daemon and other processes
|
# kill active ppp daemon and other processes
|
||||||
config_get ifname "$cfg" ifname
|
config_get ifname "$cfg" ifname
|
||||||
pids="$(cat /var/run/${ifname}.pid /var/run/ppp-${cfg}.pid 2>/dev/null)"
|
pids="$(head -n1 -q /var/run/${ifname}.pid /var/run/ppp-${cfg}.pid 2>/dev/null)"
|
||||||
for pid in $pids; do
|
for pid in $pids; do
|
||||||
[ -d "/proc/$pid" ] && {
|
[ -d "/proc/$pid" ] && {
|
||||||
kill $pid
|
kill $pid
|
||||||
|
|
|
@ -10,7 +10,7 @@ start_pppd() {
|
||||||
|
|
||||||
# make sure only one pppd process is started
|
# make sure only one pppd process is started
|
||||||
lock "/var/lock/ppp-${cfg}"
|
lock "/var/lock/ppp-${cfg}"
|
||||||
local pid="$(cat /var/run/ppp-${cfg}.pid 2>/dev/null)"
|
local pid="$(head -n1 /var/run/ppp-${cfg}.pid 2>/dev/null)"
|
||||||
[ -d "/proc/$pid" ] && grep pppd "/proc/$pid/cmdline" 2>/dev/null >/dev/null && {
|
[ -d "/proc/$pid" ] && grep pppd "/proc/$pid/cmdline" 2>/dev/null >/dev/null && {
|
||||||
lock -u "/var/lock/ppp-${cfg}"
|
lock -u "/var/lock/ppp-${cfg}"
|
||||||
return 0
|
return 0
|
||||||
|
|
Loading…
Reference in New Issue