internal/gerrit: check for context cancellation when sleeping Change-Id: Ieb1bf9974565679bf277c0be5b8c4c29cd4de0e9 Reviewed-on: https://go-review.googlesource.com/c/oscar/+/650535 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Commit-Queue: Ian Lance Taylor <iant@google.com>
diff --git a/internal/gerrit/sync.go b/internal/gerrit/sync.go index fe97afd..e95e303 100644 --- a/internal/gerrit/sync.go +++ b/internal/gerrit/sync.go
@@ -556,7 +556,13 @@ "try", tries, "sleep", backoff, "body", string(data)) - time.Sleep(backoff) + + select { + case <-ctx.Done(): + return ctx.Err() + case <-time.After(backoff): + } + backoff = min(backoff*2, 1*time.Minute) continue