diff options
Diffstat (limited to 'package/linux-atm')
-rw-r--r-- | package/linux-atm/Makefile | 4 | ||||
-rwxr-xr-x | package/linux-atm/files/br2684ctl | 41 |
2 files changed, 32 insertions, 13 deletions
diff --git a/package/linux-atm/Makefile b/package/linux-atm/Makefile index fe391b912..b6b252d14 100644 --- a/package/linux-atm/Makefile +++ b/package/linux-atm/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2006-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=linux-atm PKG_VERSION:=2.5.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/$(PKG_NAME) diff --git a/package/linux-atm/files/br2684ctl b/package/linux-atm/files/br2684ctl index 0c6fa9575..b2199e630 100755 --- a/package/linux-atm/files/br2684ctl +++ b/package/linux-atm/files/br2684ctl @@ -1,6 +1,10 @@ #!/bin/sh /etc/rc.common + START=50 +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + start_daemon() { local cfg="$1" @@ -39,25 +43,40 @@ start_daemon() { config_get sendsize "$cfg" sendsize local circuit="$atmdev.$vpi.$vci" - local pid="/var/run/br2684ctl-$circuit.pid" - - start-stop-daemon -S -b -x /usr/sbin/br2684ctl -m -p "$pid" -- \ + + SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \ + service_start /usr/sbin/br2684ctl \ -c "$unit" -e "$encaps" -p "$payload" \ -a "$circuit" ${qos:+-q "$qos"} ${sendsize:+-s "$sendsize"} } +stop_daemon() { + local cfg="$1" + + local atmdev + config_get atmdev "$cfg" atmdev 0 + + local unit + config_get unit "$cfg" unit 0 + + local vpi + config_get vpi "$cfg" vpi 8 + + local vci + config_get vci "$cfg" vci 35 + + local circuit="$atmdev.$vpi.$vci" + + SERVICE_PID_FILE="/var/run/br2684ctl-$circuit.pid" \ + service_stop /usr/sbin/br2684ctl +} + start() { - insmod br2684 >/dev/null 2>/dev/null config_load network config_foreach start_daemon atm-bridge } stop() { - local pid - for pid in /var/run/br2684ctl-*.pid; do - if [ -f "$pid" ]; then - service_kill br2684ctl "$pid" - rm -f "$pid" - fi - done + config_load network + config_foreach stop_daemon atm-bridge } |