From f5bf0f5513d884c237e7989932cf8f95fac44c04 Mon Sep 17 00:00:00 2001 From: Jan-Philipp Litza Date: Sat, 30 Jul 2016 15:34:22 +0200 Subject: [PATCH] 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. --- .../gluon-radvd/files/etc/init.d/gluon-radvd | 18 ++++----- .../files/etc/init.d/gluon-respondd | 37 +++++-------------- 2 files changed, 17 insertions(+), 38 deletions(-) diff --git a/package/gluon-radvd/files/etc/init.d/gluon-radvd b/package/gluon-radvd/files/etc/init.d/gluon-radvd index 5e0f5962..d33005e4 100755 --- a/package/gluon-radvd/files/etc/init.d/gluon-radvd +++ b/package/gluon-radvd/files/etc/init.d/gluon-radvd @@ -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 -} diff --git a/package/gluon-respondd/files/etc/init.d/gluon-respondd b/package/gluon-respondd/files/etc/init.d/gluon-respondd index a1bf979f..ec652d3b 100755 --- a/package/gluon-respondd/files/etc/init.d/gluon-respondd +++ b/package/gluon-respondd/files/etc/init.d/gluon-respondd @@ -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 }