#!/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
}