procd: add wrapper calls for interface triggers

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41008 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
John Crispin
2014-06-05 10:56:06 +00:00
parent 120957698a
commit b8e563d2d0

View File

@@ -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 \