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 }