diff options
author | Pierre Lebleu <pme.lebleu@gmail.com> | 2017-10-25 18:05:15 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2017-11-10 23:31:27 +0100 |
commit | 832b6b8305f738fe7a5efbefc1ce48a062b0deda (patch) | |
tree | 2b524470af5e189e6b9646ca6b793146274087b3 | |
parent | ff56bb0dfb2ccdfc82ade6f80ad201268717d9fe (diff) | |
download | upstream-832b6b8305f738fe7a5efbefc1ce48a062b0deda.tar.gz upstream-832b6b8305f738fe7a5efbefc1ce48a062b0deda.tar.bz2 upstream-832b6b8305f738fe7a5efbefc1ce48a062b0deda.zip |
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 <pme.lebleu@gmail.com>
-rwxr-xr-x | package/base-files/files/etc/rc.common | 4 | ||||
-rw-r--r-- | package/system/procd/files/procd.sh | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index e80af891e6..a2ea6a5679 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 c23c37b83f..91e2371d62 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" |