procd: allow usage of * as procd_running() instance parameter

service_running() implementation in /etc/rc.common use it.
It is preferable to use wildcard than assuming the instance
name is the default one.

jsonfilter returns all matches when wildcards are used, hence
the -l 1 argument used to limit output to only one value.

Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
This commit is contained in:
Alin Nastac 2019-10-17 14:06:40 +02:00 committed by Jo-Philipp Wich
parent 91aabae895
commit ddf6ec29b4
2 changed files with 4 additions and 4 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=procd
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git

View File

@ -407,12 +407,12 @@ _procd_add_instance() {
procd_running() {
local service="$1"
local instance="${2:-instance1}"
local running
local instance="${2:-*}"
[ "$instance" = "*" ] || instance="'$instance'"
json_init
json_add_string name "$service"
running=$(_procd_ubus_call list | jsonfilter -e "@['$service'].instances['$instance'].running")
local running=$(_procd_ubus_call list | jsonfilter -l 1 -e "@['$service'].instances[$instance].running")
[ "$running" = "true" ]
}