diff --git a/token/services/selector/simple/inmemory/locker.go b/token/services/selector/simple/inmemory/locker.go index d70d69f788..159ad93a6d 100644 --- a/token/services/selector/simple/inmemory/locker.go +++ b/token/services/selector/simple/inmemory/locker.go @@ -381,6 +381,9 @@ func (d *locker) lockedCount() int { func (d *locker) scan(ctx context.Context) { defer close(d.scanDone) + + ticker := time.NewTicker(d.sleepTimeout) + defer ticker.Stop() for { // Check for shutdown before starting a new scan cycle. select { @@ -462,7 +465,7 @@ func (d *locker) scan(ctx context.Context) { for { logger.DebugfContext(ctx, "token collector: sleep for some time...") select { - case <-time.After(d.sleepTimeout): + case <-ticker.C: case <-ctx.Done(): logger.Debugf("token collector: stopping during sleep")