changed tunneldigger init script to use start-stop-daemon and added restart option
This commit is contained in:
parent
f2ace405ff
commit
0533f55194
30
package/tunneldigger/files/tunneldigger.init
Normal file → Executable file
30
package/tunneldigger/files/tunneldigger.init
Normal file → Executable file
@ -1,18 +1,20 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
START=90
|
START=90
|
||||||
|
|
||||||
|
PIDFILE=/var/run/tunneldigger.pid
|
||||||
tunnel_id=1
|
tunnel_id=1
|
||||||
|
|
||||||
config_cb() {
|
config_cb() {
|
||||||
local cfg="$CONFIG_SECTION"
|
local cfg="$CONFIG_SECTION"
|
||||||
config_get configname "$cfg" TYPE
|
config_get configname "$cfg" TYPE
|
||||||
|
|
||||||
case "$configname" in
|
case "$configname" in
|
||||||
broker)
|
broker)
|
||||||
config_get addresses "$cfg" address
|
config_get addresses "$cfg" address
|
||||||
config_get uuid "$cfg" uuid
|
config_get uuid "$cfg" uuid
|
||||||
config_get interface "$cfg" interface
|
config_get interface "$cfg" interface
|
||||||
config_get limit_bw_down "$cfg" limit_bw_down
|
config_get limit_bw_down "$cfg" limit_bw_down
|
||||||
|
config_get hook_script "$cfg" hook_script
|
||||||
|
|
||||||
local broker_opts=""
|
local broker_opts=""
|
||||||
for address in $addresses; do
|
for address in $addresses; do
|
||||||
@ -22,19 +24,35 @@ config_cb() {
|
|||||||
if [ ! -z "${limit_bw_down}" ]; then
|
if [ ! -z "${limit_bw_down}" ]; then
|
||||||
broker_opts="${broker_opts} -L ${limit_bw_down}"
|
broker_opts="${broker_opts} -L ${limit_bw_down}"
|
||||||
fi
|
fi
|
||||||
|
echo "Starting tunneldigger"
|
||||||
/usr/bin/tunneldigger -u ${uuid} -i ${interface} -t ${tunnel_id} ${broker_opts} &
|
/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++
|
let tunnel_id++
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start() {
|
||||||
{
|
|
||||||
config_load tunneldigger
|
config_load tunneldigger
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user