procd: add wrapper calls for interface triggers

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41008
master
John Crispin 10 years ago
parent ad3c2701b6
commit e1e5f21b2f
  1. 37
      package/system/procd/files/procd.sh

@ -128,7 +128,7 @@ _procd_set_param() {
env|data|limits)
_procd_add_table "$type" "$@"
;;
command|netdev|file|respawn)
command|netdev|file|respawn|watch)
_procd_add_array "$type" "$@"
;;
nice)
@ -137,6 +137,37 @@ _procd_set_param() {
esac
}
_procd_add_interface_trigger() {
json_add_array
_procd_add_array_data "$1"
shift
json_add_array
_procd_add_array_data "if"
json_add_array
_procd_add_array_data "eq" "interface" "$1"
shift
json_close_array
json_add_array
_procd_add_array_data "run_script" "$@"
json_close_array
json_close_array
json_close_array
}
_procd_add_network_trigger() {
local script=$(readlink "$initscript")
local name=$(basename ${script:-$initscript})
_procd_open_trigger
_procd_add_interface_trigger "interface.*" $1 /etc/init.d/$name reload
_procd_close_trigger
}
_procd_add_config_trigger() {
json_add_array
_procd_add_array_data "$1"
@ -182,7 +213,7 @@ _procd_append_param() {
env|data|limits)
_procd_add_table_data "$@"
;;
command|netdev|file|respawn)
command|netdev|file|respawn|watch)
_procd_add_array_data "$@"
;;
esac
@ -237,6 +268,8 @@ _procd_wrapper \
procd_add_instance \
procd_add_config_trigger \
procd_add_reload_trigger \
procd_add_interface_trigger \
procd_add_network_trigger \
procd_open_trigger \
procd_close_trigger \
procd_open_instance \

Loading…
Cancel
Save