]> 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:17:32 +0000 (09:17 +0100)
bin/tests/system/conf.sh.common

index c12b8317e63d6d2f1bd0cc57f1fc247123de853f..6e4fafe5124cd319c807acf351d8b5bc28b9b845 100644 (file)
@@ -374,9 +374,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
 
@@ -386,7 +386,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
@@ -394,6 +396,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