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