From 19f51163af1df6ff20e32e23cd3f26f7644df967 Mon Sep 17 00:00:00 2001 From: ucwong Date: Wed, 22 Jan 2025 18:40:19 +0800 Subject: [PATCH] ensure API timeoutLoop terminates with event system --- ctxc/filters/api.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ctxc/filters/api.go b/ctxc/filters/api.go index 7ce9b08662..c2e0243dfa 100644 --- a/ctxc/filters/api.go +++ b/ctxc/filters/api.go @@ -86,7 +86,11 @@ func (api *FilterAPI) timeoutLoop(timeout time.Duration) { ticker := time.NewTicker(timeout) defer ticker.Stop() for { - <-ticker.C + select { + case <-ticker.C: + case <-api.events.chainSub.Err(): + return + } api.filtersMu.Lock() for id, f := range api.filters { select {