aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/procd/files
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-06-06 09:34:30 +0000
committerJohn Crispin <blogic@openwrt.org>2014-06-06 09:34:30 +0000
commit16eceec6c4c2a2ab621615e2de46a80117f572f3 (patch)
treea58bbc723d5474a9051aa32edc9338bf188127e6 /package/system/procd/files
parent9eb585ddab591e329260266a497be55eddbc4b6a (diff)
downloadupstream-16eceec6c4c2a2ab621615e2de46a80117f572f3.tar.gz
upstream-16eceec6c4c2a2ab621615e2de46a80117f572f3.tar.bz2
upstream-16eceec6c4c2a2ab621615e2de46a80117f572f3.zip
procd: service instances can now report an error of why they failed to start.
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41031 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/system/procd/files')
-rw-r--r--package/system/procd/files/procd.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh
index bee3293837..228652db97 100644
--- a/package/system/procd/files/procd.sh
+++ b/package/system/procd/files/procd.sh
@@ -131,6 +131,11 @@ _procd_set_param() {
command|netdev|file|respawn|watch)
_procd_add_array "$type" "$@"
;;
+ error)
+ json_add_array "$type"
+ json_add_string "" "$@"
+ json_close_array
+ ;;
nice)
json_add_int "$type" "$1"
;;
@@ -207,8 +212,13 @@ _procd_add_validation() {
_procd_append_param() {
local type="$1"; shift
+ local _json_no_warning=1
json_select "$type"
+ [ $? = 0 ] || {
+ _procd_set_param "$type" "$@"
+ return
+ }
case "$type" in
env|data|limits)
_procd_add_table_data "$@"
@@ -216,6 +226,9 @@ _procd_append_param() {
command|netdev|file|respawn|watch)
_procd_add_array_data "$@"
;;
+ error)
+ json_add_string "" "$@"
+ ;;
esac
json_select ..
}