diff --git a/core/txpool/txpool.go b/core/txpool/txpool.go index c8e1e25a0e..4e7f801f84 100644 --- a/core/txpool/txpool.go +++ b/core/txpool/txpool.go @@ -166,7 +166,10 @@ func (p *TxPool) loop(head *types.Header, chain BlockChain) { for _, subpool := range p.subpools { subpool.Reset(oldHead, newHead) } - resetDone <- newHead + select { + case resetDone <- newHead: + case <-p.term: + } }(oldHead, newHead) // If the reset operation was explicitly requested, consider it