]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add retry_quiet() function to retry quietly for an event to occur
authorOndřej Surý <ondrej@isc.org>
Wed, 20 Nov 2019 16:05:58 +0000 (00:05 +0800)
committerOndřej Surý <ondrej@isc.org>
Tue, 26 Nov 2019 08:19:52 +0000 (09:19 +0100)
(cherry picked from commit 31264a7e003d89581c7110cb0055e22bc69e1653)

bin/tests/system/conf.sh.common

index 41daad51c6c6ea67258a4ede6efbf5ed94e5649a..e82d73995492bbee49f2a662f9715b44a902e65a 100644 (file)
@@ -338,9 +338,9 @@ nextpartpeek() {
        nextpartread $1 2> /dev/null
 }
 
-# retry: keep running a command until it succeeds, up to $1 times, with
-# one-second intervals
-retry() {
+# _retry: keep running a command until it succeeds, up to $1 times, with
+# one-second intervals, optionally printing a message upon every attempt
+_retry() {
        __retries="${1}"
        shift
 
@@ -350,7 +350,9 @@ retry() {
                fi
                __retries=$((__retries-1))
                if [ "${__retries}" -gt 0 ]; then
-                       echo_i "retrying"
+                       if [ "${__retry_quiet}" -ne 1 ]; then
+                               echo_i "retrying"
+                       fi
                        sleep 1
                else
                        return 1
@@ -358,6 +360,18 @@ retry() {
        done
 }
 
+# retry: call _retry() in verbose mode
+retry() {
+       __retry_quiet=0
+       _retry "$@"
+}
+
+# retry_quiet: call _retry() in silent mode
+retry_quiet() {
+       __retry_quiet=1
+       _retry "$@"
+}
+
 rndc_reload() {
     echo_i "`$RNDC -c ../common/rndc.conf -s $2 -p ${CONTROLPORT} reload $3 2>&1 | sed 's/^/'$1' /'`"
     # reloading single zone is synchronous, if we're reloading whole server