summaryrefslogtreecommitdiffstats
path: root/src/lib/connections/mobile_ppp
diff options
context:
space:
mode:
authorJouke Witteveen <j.witteveen@gmail.com>2014-04-26 13:45:35 +0200
committerJouke Witteveen <j.witteveen@gmail.com>2014-05-06 12:00:54 +0200
commit75b7a33a1275e9cdb7c0959f0edfef81ff2c8e43 (patch)
treed0e1c3428a1c02aa93360d4f1aae0dd69c150e95 /src/lib/connections/mobile_ppp
parentb4f7bf8ca067542b48ed4099c9feaf9f62f89a62 (diff)
downloadnetctl-75b7a33a1275e9cdb7c0959f0edfef81ff2c8e43.tar.gz
netctl-75b7a33a1275e9cdb7c0959f0edfef81ff2c8e43.tar.xz
Fix pid lookup for killing pppd
The pid file contains more than just the pid: on the second line it records the interface pppd manages.
Diffstat (limited to 'src/lib/connections/mobile_ppp')
-rw-r--r--src/lib/connections/mobile_ppp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/connections/mobile_ppp b/src/lib/connections/mobile_ppp
index 6df30d8..785457d 100644
--- a/src/lib/connections/mobile_ppp
+++ b/src/lib/connections/mobile_ppp
@@ -79,12 +79,15 @@ EOF
}
mobile_ppp_down() {
- local options chat pidfile
+ local options chat pidfile pid
options="$STATE_DIR/mobile_ppp.$Interface.$Profile/options"
chat="$STATE_DIR/mobile_ppp.$Interface.$Profile/modem.chat"
pidfile="/var/run/ppp-$Profile.pid"
- [[ -r $pidfile ]] && kill "$(< "$pidfile")"
+ if [[ -r $pidfile ]]; then
+ read pid < "$pidfile"
+ (( pid )) && kill "$pid"
+ fi
rm "$options" "$chat"
rmdir "$(dirname "$options")"