From 8b6b522aaeab4dcd7d277c49ed00f4c308cb8c85 Mon Sep 17 00:00:00 2001 From: Daniel <dhaavi@users.noreply.github.com> Date: Tue, 27 Aug 2024 15:15:24 +0200 Subject: [PATCH] [service] Improve rng tickfeeder --- base/rng/tickfeeder.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/base/rng/tickfeeder.go b/base/rng/tickfeeder.go index 42fd5e11..84f3dee2 100644 --- a/base/rng/tickfeeder.go +++ b/base/rng/tickfeeder.go @@ -38,11 +38,15 @@ func tickFeeder(ctx *mgr.WorkerCtx) error { feeder := NewFeeder() defer feeder.CloseFeeder() - tickDuration := getTickFeederTickDuration() + ticker := time.NewTicker(getTickFeederTickDuration()) + defer ticker.Stop() for { - // wait for tick - time.Sleep(tickDuration) + select { + case <-ticker.C: + case <-ctx.Done(): + return nil + } // add tick value value = (value << 1) | (time.Now().UnixNano() % 2) @@ -64,13 +68,6 @@ func tickFeeder(ctx *mgr.WorkerCtx) error { case <-ctx.Done(): return nil } - } else { - // check if are done - select { - case <-ctx.Done(): - return nil - default: - } } } }