commit:     c146b966913ae80652e3be925d3aba60ed82f14d
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri Sep 16 19:23:09 2016 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Sep 16 19:23:09 2016 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=c146b966

Add command_progress variable

If this is set to yes, 1, true, or on, start-stop-daemon will display a
progress meter while waiting for a daemon to stop.

 man/openrc-run.8        | 4 ++++
 sh/start-stop-daemon.sh | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/man/openrc-run.8 b/man/openrc-run.8
index 6e3b9dc..5ec8156 100644
--- a/man/openrc-run.8
+++ b/man/openrc-run.8
@@ -143,6 +143,10 @@ Set this to "true", "yes" or "1" (case-insensitive) if you 
want
 .Xr start-stop-daemon 8
 to force the daemon into the background. This forces the
 "--make-pidfile" and "--pidfile" options, so the pidfile variable must be set.
+.It Ar command_progress
+Set this to "true", "yes" or "1" (case-insensitive) if you want 
+.Xr start-stop-daemon 8
+to display a progress meter when waiting for a daemon to stop.
 .It Ar command_user
 If the daemon does not support changing to a different user id, you can
 use this to change the user id before

diff --git a/sh/start-stop-daemon.sh b/sh/start-stop-daemon.sh
index 6b679ac..6f396b3 100644
--- a/sh/start-stop-daemon.sh
+++ b/sh/start-stop-daemon.sh
@@ -63,6 +63,7 @@ ssd_start()
 
 ssd_stop()
 {
+       local _progress=
        local startcommand="$(service_get_value "command")"
        local startchroot="$(service_get_value "chroot")"
        local startpidfile="$(service_get_value "pidfile")"
@@ -72,13 +73,15 @@ ssd_stop()
        pidfile="${startpidfile:-$pidfile}"
        procname="${startprocname:-$procname}"
        [ -n "$command" -o -n "$procname" -o -n "$pidfile" ] || return 0
+       yesno "${command_progress}" && _progress=--progress
        ebegin "Stopping ${name:-$RC_SVCNAME}"
        start-stop-daemon --stop \
                ${retry:+--retry} $retry \
                ${command:+--exec} $command \
                ${procname:+--name} $procname \
                ${pidfile:+--pidfile} $chroot$pidfile \
-               ${stopsig:+--signal} $stopsig
+               ${stopsig:+--signal} $stopsig \
+               ${_progress}
 
        eend $? "Failed to stop ${name:-$RC_SVCNAME}"
 }

Reply via email to