Explorar o código

package/linux-atm: use new service wrappers

SVN-Revision: 28867
Nicolas Thill %!s(int64=14) %!d(string=hai) anos
pai
achega
ec11af20f6
Modificáronse 2 ficheiros con 32 adicións e 13 borrados
  1. 2 2
      package/linux-atm/Makefile
  2. 30 11
      package/linux-atm/files/br2684ctl

+ 2 - 2
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)

+ 30 - 11
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
 }