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 }