olsrd: move ifup handling to service_triggers()

In procd event handling should be done in service_triggers().
Therefor move reload_triggers into service_triggers()

Additional small refactoring and commenting.
This commit is contained in:
Nico Geyso 2015-02-24 12:57:36 +01:00 committed by Lars Gierth
parent 43bdddbc5d
commit 37507bb636
2 changed files with 36 additions and 19 deletions

View file

@ -1,29 +1,37 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2015 OpenWrt.org
. $IPKG_INSTROOT/lib/functions/olsrd.sh
START=65
USE_PROCD=1
CONF=/var/etc/olsrd.conf
BIN=/usr/sbin/olsrd
OLSRD=olsrd
CONF=/var/etc/$OLSRD.conf
start_service() {
olsrd_generate_config $OLSRD
procd_open_instance
procd_set_param command /usr/sbin/olsrd -f $CONF -nofork
procd_set_param respawn
procd_set_param file $CONF # automatically restart olsrd if cfg has changed
procd_set_param command "$BIN"
procd_append_param command -f ${CONF}
procd_append_param command -nofork
# restart on ifup interface events
local network = olsrd_list_configured_interfaces $OLSRD
for n in $network; do
procd_add_reload_interface_trigger $n /etc/init.d/$OLSRD reload
done
# restart if olsrd dies
procd_set_param respawn
# automatically restart olsrd if generated cfg has changed
procd_set_param file $CONF
procd_close_instance
olsrd_setup_smartgw_rules
}
service_triggers() {
# restart on ifup interface events
procd_add_reload_trigger $OLSRD
for n in $(olsrd_list_configured_interfaces $OLSRD); do
procd_add_reload_interface_trigger $n /etc/init.d/$OLSRD reload
done
}

View file

@ -5,25 +5,34 @@
START=65
USE_PROCD=1
CONF=/var/etc/olsrd6.conf
BIN=/usr/sbin/olsrd
OLSRD=olsrd6
CONF=/var/etc/$OLSRD.conf
start_service() {
olsrd_generate_config $OLSRD
procd_open_instance
procd_set_param command /usr/sbin/olsrd -f $CONF -nofork
procd_set_param respawn
procd_set_param file $CONF # automatically restart olsrd if cfg has changed
procd_set_param command "$BIN"
procd_append_param command -f ${CONF}
procd_append_param command -nofork
# restart on ifup interface events
local network = olsrd_list_configured_interfaces $OLSRD
for n in $network; do
procd_add_reload_interface_trigger $n /etc/init.d/$OLSRD reload
done
# restart if olsrd dies
procd_set_param respawn
# automatically restart olsrd if generated cfg has changed
procd_set_param file $CONF
procd_close_instance
olsrd_setup_smartgw_rules
}
service_triggers() {
# restart on ifup interface events
procd_add_reload_trigger $OLSRD
for n in $(olsrd_list_configured_interfaces $OLSRD); do
procd_add_reload_interface_trigger $n /etc/init.d/$OLSRD reload
done
}