From 7a08020ed2517bdb058df950bf98d20aae8542ec Mon Sep 17 00:00:00 2001 From: Mikhail Mazurskiy Date: Sat, 21 Aug 2021 12:20:30 +1000 Subject: [PATCH] Make sleep interruptible Kubernetes-commit: b705a521d8814b38faabea218097cac65d6ab5c5 --- tools/watch/retrywatcher.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/watch/retrywatcher.go b/tools/watch/retrywatcher.go index 1ed46ccb..e4806d2e 100644 --- a/tools/watch/retrywatcher.go +++ b/tools/watch/retrywatcher.go @@ -268,7 +268,13 @@ func (rw *RetryWatcher) receive() { return } - time.Sleep(retryAfter) + timer := time.NewTimer(retryAfter) + select { + case <-ctx.Done(): + timer.Stop() + return + case <-timer.C: + } klog.V(4).Infof("Restarting RetryWatcher at RV=%q", rw.lastResourceVersion) }, rw.minRestartDelay)