gluon-{radvd,respondd}: Use procd in init scripts

The main advantage is that procd is capable of logging stderr to logd,
making errors easier to debug.
This commit is contained in:
Jan-Philipp Litza 2016-07-30 15:34:22 +02:00
parent f3cb6d7b36
commit f5bf0f5513
2 changed files with 17 additions and 38 deletions

View File

@ -1,17 +1,15 @@
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=50
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1
start() {
start_service() {
[ -x /lib/gluon/radvd/arguments ] && {
service_start /usr/sbin/uradvd $(/lib/gluon/radvd/arguments)
procd_open_instance
procd_param command /usr/sbin/uradvd $(/lib/gluon/radvd/arguments)
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param netdev br-client
procd_set_param stderr 1
procd_close_instance
}
}
stop() {
service_stop /usr/sbin/uradvd
}

View File

@ -2,44 +2,25 @@
EXTRA_COMMANDS='restart_if_running'
USE_PROCD=1
START=50
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1
DEVLIST=/var/run/gluon-respondd.devs
DAEMON=/usr/bin/respondd
LOCK=/var/run/gluon-respondd.lock
do_start() {
start_service() {
DEVS=$(cat $DEVLIST 2>/dev/null | while read dev iface; do echo -n " -i $dev"; done)
service_start $DAEMON -g ff02::2:1001 -p 1001 -d /lib/gluon/respondd $DEVS
}
do_stop() {
service_stop $DAEMON
}
start() {
lock $LOCK
do_start
lock -u $LOCK
}
stop() {
lock $LOCK
do_stop
lock -u $LOCK
procd_open_instance
procd_set_param command $DAEMON -g ff02::2:1001 -p 1001 -d /lib/gluon/respondd $DEVS
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param stderr 1
procd_close_instance
}
restart_if_running() {
lock $LOCK
if service_check $DAEMON; then
do_stop
do_start
stop
start
fi
lock -u $LOCK
}