From: Pierre Lebleu Date: Wed, 25 Oct 2017 16:05:15 +0000 (+0200) Subject: procd: service_data: Support data within the service itself X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=832b6b8305f738fe7a5efbefc1ce48a062b0deda;p=openwrt%2Fstaging%2Fblogic.git procd: service_data: Support data within the service itself Use the same approach than the service_triggers for the service_data. Signed-off-by: Pierre Lebleu --- diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index e80af891e684..a2ea6a5679ae 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -88,6 +88,10 @@ service_triggers() { return 0 } +service_data() { + return 0 +} + service_running() { return 0 } diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index c23c37b83f00..91e2371d6231 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -79,6 +79,9 @@ _procd_close_service() { _procd_open_trigger service_triggers _procd_close_trigger + _procd_open_data + service_data + _procd_close_data _procd_ubus_call ${1:-set} } @@ -134,6 +137,18 @@ _procd_close_trigger() { json_close_array } +_procd_open_data() { + let '_procd_data_open = _procd_data_open + 1' + [ "$_procd_data_open" -gt 1 ] && return + json_add_object "data" +} + +_procd_close_data() { + let '_procd_data_open = _procd_data_open - 1' + [ "$_procd_data_open" -lt 1 ] || return + json_close_object +} + _procd_open_validate() { json_select .. json_add_array "validate"