changed tunneldigger init script to use start-stop-daemon and added restart option

This commit is contained in:
Marc Juul 2014-01-10 02:11:39 -08:00
parent 3161df6e34
commit 1e24f1c481
1 changed files with 24 additions and 6 deletions

30
net/tunneldigger/files/tunneldigger.init Normal file → Executable file
View File

@ -1,18 +1,20 @@
#!/bin/sh /etc/rc.common
START=90
PIDFILE=/var/run/tunneldigger.pid
tunnel_id=1
config_cb() {
local cfg="$CONFIG_SECTION"
config_get configname "$cfg" TYPE
case "$configname" in
broker)
config_get addresses "$cfg" address
config_get uuid "$cfg" uuid
config_get interface "$cfg" interface
config_get limit_bw_down "$cfg" limit_bw_down
config_get hook_script "$cfg" hook_script
local broker_opts=""
for address in $addresses; do
@ -22,19 +24,35 @@ config_cb() {
if [ ! -z "${limit_bw_down}" ]; then
broker_opts="${broker_opts} -L ${limit_bw_down}"
fi
/usr/bin/tunneldigger -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} &
echo "Starting tunneldigger"
/sbin/start-stop-daemon -S -q -b -m -p $PIDFILE -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface}
-t ${tunnel_id} -s ${hook_script} ${broker_opts}
let tunnel_id++
;;
esac
}
start()
{
start() {
config_load tunneldigger
}
stop() {
killall tunneldigger
echo "Stopping tunneldigger"
if [ -f $PIDFILE ]; then
PID=`cat ${PIDFILE}`
start-stop-daemon -K -q -p $PIDFILE
while test -d "/proc/${PID}"; do
echo "waiting for tunneldigger to stop"
sleep 1
done
echo "tunneldigger stopped"
else
echo "Looks like tunneldigger wasn't running"
fi
}
restart() {
stop
start
}