eth/filters: ensure filter api timeout loop terminates with filter event system termination

This commit is contained in:
Jared Wasinger 2025-01-21 15:43:29 +08:00
parent 2bf4a8ff73
commit 2a7c93ebf9

View file

@ -90,7 +90,11 @@ func (api *FilterAPI) timeoutLoop(timeout time.Duration) {
ticker := time.NewTicker(timeout) ticker := time.NewTicker(timeout)
defer ticker.Stop() defer ticker.Stop()
for { for {
<-ticker.C select {
case <-ticker.C:
case <-api.events.chainSub.Err():
return
}
api.filtersMu.Lock() api.filtersMu.Lock()
for id, f := range api.filters { for id, f := range api.filters {
select { select {