xl2tpd: refactor for more resilience.
[feed/packages.git] / net / xl2tpd / files / xl2tpd.init
index 22e845901d31683ddcc2b170c5f44bdf67d369c8..86098603e2158119b9c329d1c271653271109559 100644 (file)
@@ -1,18 +1,23 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2015 OpenWrt.org
 
 START=60
+USE_PROCD=1
+
 BIN=xl2tpd
-DEFAULT=/etc/default/$BIN
-RUN_D=/var/run
-PID_F=$RUN_D/$BIN.pid
+RUN_D="/var/run/xl2tpd"
+PID_F="/var/run/xl2tpd.pid"
+
+start_service() {
+       rm -rf "$RUN_D"
+       mkdir -p "$RUN_D"
 
-start() {
-       mkdir -p $RUN_D/$BIN
-       [ -f $DEFAULT ] && . $DEFAULT
-       $BIN $OPTIONS
+       procd_open_instance
+       procd_set_param command $BIN -D -l -p "$PID_F"
+       procd_close_instance
 }
 
-stop() {
-       [ -f $PID_F ] && kill $(cat $PID_F)
+stop_service() {
+       rm -rf "$RUN_D"
+       rm -rf "$PID_F"
 }