[source] procd: service_data: Support data within the service itself

LEDE Commits lede-commits at lists.infradead.org
Fri Nov 10 14:37:19 PST 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/832b6b8305f738fe7a5efbefc1ce48a062b0deda

commit 832b6b8305f738fe7a5efbefc1ce48a062b0deda
Author: Pierre Lebleu <pme.lebleu at gmail.com>
AuthorDate: Wed Oct 25 18:05:15 2017 +0200

    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 at gmail.com>
---
 package/base-files/files/etc/rc.common |  4 ++++
 package/system/procd/files/procd.sh    | 15 +++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index e80af89..a2ea6a5 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 c23c37b..91e2371 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"



More information about the lede-commits mailing list