[LEDE-DEV] [PATCH] procd: service_data: Support data within the service itself

Pierre Lebleu pme.lebleu at gmail.com
Wed Oct 25 09:05:15 PDT 2017


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"
-- 
1.9.1




More information about the Lede-dev mailing list