From c10ab5cf27fbddd58507697bfeca8c5cfcfbafee Mon Sep 17 00:00:00 2001 From: Jared Wasinger Date: Tue, 14 Jan 2025 23:24:36 +0800 Subject: [PATCH] core/txpool: terminate subpool reset goroutine if pool was closed --- core/txpool/txpool.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/txpool/txpool.go b/core/txpool/txpool.go index d54cf4968b..eb6c7d4909 100644 --- a/core/txpool/txpool.go +++ b/core/txpool/txpool.go @@ -224,7 +224,12 @@ func (p *TxPool) loop(head *types.Header, chain BlockChain) { for _, subpool := range p.subpools { subpool.Reset(oldHead, newHead) } - resetDone <- newHead + select { + case resetDone <- newHead: + break + case <-p.term: + return + } }(oldHead, newHead) // If the reset operation was explicitly requested, consider it