bmx6: migrate init.d script to procd syntax
[feed/routing.git] / bmx6 / files / etc / init.d / bmx6
index cb2d5b3cd7e3142190e53729c99140b8e281372b..9d48eb41ce2f710e114a9914cf1c4e9a5c536338 100755 (executable)
@@ -1,41 +1,37 @@
 #!/bin/sh /etc/rc.common
+#    Copyright (C) 2017 Gui Iribarren <gui@altermundi.net>
 #    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
 #
-#    This program is free software; you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation; either version 2 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License along
-#    with this program; if not, write to the Free Software Foundation, Inc.,
-#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-#    The full GNU General Public License is included in this distribution in
-#    the file called "COPYING".
+#    This is free software, licensed under the GNU General Public License v3.
 
 START=91
+STOP=91
+USE_PROCD=1
 
+NAME=bmx6
 BIN=/usr/sbin/bmx6
 CONF=/etc/config/bmx6
 PID=/var/run/bmx6/pid
+DEBUG=0
+
+start_service() {
+    procd_open_instance "$NAME"
+    procd_set_param command "$BIN" -f "$CONF" -d "$DEBUG"
 
+    ### Respawn automatically when process dies, after waiting respawn_timeout seconds
+    ### If respawn_retry consecutives respawns die before respawn_threshold seconds (i.e. they crash)
+    ### it will stop trying and leave it dead.
+    procd_set_param respawn ${respawn_threshold:-60} ${respawn_timeout:-3} ${respawn_retry:-5}
 
-start() {
-       cd /root/
-       while pgrep -f mac80211.sh ; do sleep 1; done
-       ulimit -c 20000
-       $BIN -f $CONF -d0 > /dev/null &
+    procd_set_param limits core="20000"  # Equivalent to 'ulimit -c 20000'
+    procd_close_instance
 }
 
-stop() {
-       start-stop-daemon -p $PID -K
+reload_service() {
+    "$BIN" -c configReload
 }
 
-restart() {
-       stop; sleep 3; start
+service_triggers()
+{
+    procd_add_reload_trigger "bmx6" # Call reload_service() when /etc/config/bmx6 changed and reload_config is run
 }