From 2a8c7ceaf4a1b8b7efc230148082b64d53bbf1e2 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 5 May 2010 23:24:11 +0000 Subject: [package] base-files, ppp: remove protocol specific cleanup code from /sbin/ifdown and move it to protocol stop callbacks git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21383 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/ppp/files/ppp.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'package/ppp') diff --git a/package/ppp/files/ppp.sh b/package/ppp/files/ppp.sh index bc18d1ec9a..b3c9e53655 100644 --- a/package/ppp/files/ppp.sh +++ b/package/ppp/files/ppp.sh @@ -10,8 +10,13 @@ stop_interface_ppp() { local link="${proto:-ppp}-$ifname" [ -f "/var/run/ppp-${link}.pid" ] && { local pid="$(head -n1 /var/run/ppp-${link}.pid 2>/dev/null)" - grep -qs pppd "/proc/$pid/cmdline" && kill -TERM $pid + grep -qs pppd "/proc/$pid/cmdline" && kill -TERM $pid && \ + while grep -qs pppd "/proc/$pid/cmdline"; do sleep 1; done + rm -f "/var/run/ppp-${link}.pid" } + + local lock="/var/lock/ppp-$link" + [ -f "$lock" ] && lock -u "$lock" } start_pppd() { -- cgit v1.2.3