From 9d172df8bb0729343c20a01b690fe2062db30e02 Mon Sep 17 00:00:00 2001 From: Jared Wasinger Date: Thu, 14 Dec 2023 00:04:31 +0800 Subject: [PATCH] subfetcher.loop: return earlier when the subfetcher is cancelled --- core/state/trie_prefetcher.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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 - } } }