diff --git a/core/state/trie_prefetcher.go b/core/state/trie_prefetcher.go index 2c86fdbd18..6ce0e4102a 100644 --- a/core/state/trie_prefetcher.go +++ b/core/state/trie_prefetcher.go @@ -291,6 +291,9 @@ func (sf *subfetcher) loop() { tasks := sf.tasks sf.tasks = nil sf.lock.Unlock() + if !keepRunning { + return + } // Prefetch all tasks for _, task := range tasks { if _, ok := sf.seen[string(task)]; ok { @@ -304,9 +307,5 @@ func (sf *subfetcher) loop() { } sf.seen[string(task)] = struct{}{} } - - if !keepRunning { - return - } } }