From 22deabb7254627b1a516e33e9ecde3e86010f9cc Mon Sep 17 00:00:00 2001 From: lukema95 Date: Mon, 13 Oct 2025 20:21:28 +0800 Subject: [PATCH] Refactor updateFilterMapsHeads to Use Timer Instead of time.After --- eth/backend.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/eth/backend.go b/eth/backend.go index 85095618222..eac4872a501 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -502,14 +502,20 @@ func (s *Ethereum) updateFilterMapsHeads() { } setHead(s.blockchain.CurrentBlock()) + timer := time.NewTimer(time.Second * 10) + defer timer.Stop() + for { select { case ev := <-headEventCh: setHead(ev.Header) + timer.Reset(time.Second * 10) case blockProc := <-blockProcCh: s.filterMaps.SetBlockProcessing(blockProc) - case <-time.After(time.Second * 10): + timer.Reset(time.Second * 10) + case <-timer.C: setHead(s.blockchain.CurrentBlock()) + timer.Reset(time.Second * 10) case ch := <-s.closeFilterMaps: close(ch) return