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 #!/bin/sh /etc/rc.common
USE_PROCD=1
START=50 START=50
SERVICE_WRITE_PID=1 start_service() {
SERVICE_DAEMONIZE=1
start() {
[ -x /lib/gluon/radvd/arguments ] && { [ -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' EXTRA_COMMANDS='restart_if_running'
USE_PROCD=1
START=50 START=50
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1
DEVLIST=/var/run/gluon-respondd.devs DEVLIST=/var/run/gluon-respondd.devs
DAEMON=/usr/bin/respondd 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) 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 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}
do_stop() { procd_set_param stderr 1
service_stop $DAEMON procd_close_instance
}
start() {
lock $LOCK
do_start
lock -u $LOCK
}
stop() {
lock $LOCK
do_stop
lock -u $LOCK
} }
restart_if_running() { restart_if_running() {
lock $LOCK
if service_check $DAEMON; then if service_check $DAEMON; then
do_stop stop
do_start start
fi fi
lock -u $LOCK
} }