From 5f04092e714395cc77ebe08c3837e56c4824a0cf Mon Sep 17 00:00:00 2001 From: Petu Eusebiu Date: Fri, 17 Dec 2021 18:37:02 +0200 Subject: [PATCH] Fix negative WaitGroup counter at runtime Signed-off-by: Petu Eusebiu --- pkg/extensions/sync/sync.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/extensions/sync/sync.go b/pkg/extensions/sync/sync.go index df992e06..109e5528 100644 --- a/pkg/extensions/sync/sync.go +++ b/pkg/extensions/sync/sync.go @@ -476,9 +476,6 @@ func Run(cfg Config, storeController storage.StoreController, wg *goSync.WaitGro continue } - // increment reference since will be busy, so shutdown has to wait - wg.Add(1) - ticker := time.NewTicker(regCfg.PollInterval) // fork a new zerolog child to avoid data race @@ -490,6 +487,9 @@ func Run(cfg Config, storeController storage.StoreController, wg *goSync.WaitGro go func(regCfg RegistryConfig, l log.Logger) { // run on intervals for ; true; <-ticker.C { + // increment reference since will be busy, so shutdown has to wait + wg.Add(1) + if err := syncRegistry(regCfg, storeController, l, localCtx, policyCtx, credentialsFile[upstreamRegistry], uuid.String()); err != nil { l.Error().Err(err).Msg("sync exited with error, stopping it...")