[openwrt/openwrt] base-files: fix service_running check

LEDE Commits lede-commits at lists.infradead.org
Fri Dec 3 16:40:39 PST 2021


mans0n pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/dd681838d370f1f6f6fa1bf1f22b0414322292f3

commit dd681838d370f1f6f6fa1bf1f22b0414322292f3
Author: Florian Eckert <fe at dev.tdt.de>
AuthorDate: Tue Jun 15 08:48:18 2021 +0200

    base-files: fix service_running check
    
    The following command checks if a instance of a service is running.
    /etc/init.d/<service> running <instance>
    
     In the variable `$@`, which is passed to the function
    `service_running`, the first argument is always the `instance` which
    should be checked. Because all other variables where removed from `$@`
    with `shift`.
    
    Before this change the first argument of `$@` was set to the `$service`
    Variable. So the function does not work as expected. The `$service`
    variable was always the instance which should be checked. This is not
    what we want.
    
    Signed-off-by: Florian Eckert <fe at dev.tdt.de>
    Reviewed-by: Sungbo Eo <mans0n at gorani.run>
---
 package/base-files/files/etc/rc.common | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index 5dcbf5138d..e950ec209d 100755
--- a/package/base-files/files/etc/rc.common
+++ b/package/base-files/files/etc/rc.common
@@ -105,9 +105,9 @@ service_data() {
 }
 
 service_running() {
-	local service="${1:-$(basename $initscript)}"
-	local instance="${2:-*}"
-	procd_running "$service" "$instance" "$@"
+	local instance="${1:-*}"
+
+	procd_running "$(basename $initscript)" "$instance"
 }
 
 ${INIT_TRACE:+set -x}



More information about the lede-commits mailing list