config_get interface_reload_delay upsmon interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
- interface_triggers "add_trigger" "upsmon" || {
+ interface_triggers "add_trigger" "upsmon" "$interface_reload_delay" "nut-monitor" || {
log_error_exit "Failed to add interface triggers" nut-monitor nut-monitor
}
procd_add_reload_trigger "nut_monitor"
config_get interface_reload_delay upsd interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
- interface_triggers "add_trigger" "upsd" "$interface_reload_delay"
+ interface_triggers "add_trigger" "upsd" "$interface_reload_delay" "nut-server" "upsd"
procd_add_reload_trigger "nut_server"
}
local action="$1"
local section="$2"
local interface_reload_delay="${3:-$DEFAULT_PROCD_INTERFACE_RELOAD_DELAY}"
+ local initscript="$4"
+ local daemon="$5"
local interfaces interface
local have_up_interface
local trigger_failed
# We use the variadic third and fourth parameters of procd_add_interface_trigger to
# restart instead of reload on interface up/down events. Additionally the variadic
# fourth and fifth parameters of procd_add_interface_trigger are passed through to
- # the <script> (in this case /etc/init.d/nut-server), so the trigger action becomes
- # /etc/init.d/nut-server restart "upsd").
- procd_add_interface_trigger "interface.*.up" "$interface" /etc/init.d/nut-server restart "upsd" || trigger_failed="true"
+ # the <script>, so the trigger action becomes e.g. /etc/init.d/<script> restart "$daemon".
+ procd_add_interface_trigger "interface.*.up" "$interface" "/etc/init.d/$initscript" "restart" "$daemon" || trigger_failed="true"
done
set +f
if [ "$trigger_failed" = "true" ]; then
fi
else
# Add a restart trigger on any interface's up status changing
- procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" /etc/init.d/nut-server restart || return 1
+ procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" "/etc/init.d/$initscript" "restart" || return 1
fi
;;
check_interface_up)