diff options
| author | Florian Eckert | 2021-06-15 06:48:18 +0000 |
|---|---|---|
| committer | Christian Lamparter | 2021-12-29 20:40:40 +0000 |
| commit | dbe2a6343f906ddf48142ee72eb81b3f311cfe6f (patch) | |
| tree | d5a972e386072437616e39affcb920e4a86eac3a | |
| parent | e81dd8a10a141936650da707447bdf3f976aab4b (diff) | |
| download | openwrt-dbe2a6343f906ddf48142ee72eb81b3f311cfe6f.tar.gz | |
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@dev.tdt.de>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
(cherry picked from commit dd681838d370f1f6f6fa1bf1f22b0414322292f3)
| -rwxr-xr-x | package/base-files/files/etc/rc.common | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index f39b69464e..5d0d3c23f7 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -100,9 +100,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} |