From 976b1c2ef73e557a702ef17600e1eeaf4865f292 Mon Sep 17 00:00:00 2001 From: zjubfd Date: Sun, 3 Mar 2019 04:21:21 +0800 Subject: [PATCH] fix pool timer leak bug, resolve#3353 (#3358) When remove peer, block pool simple remove bpPeer, but do not stop timer, that cause stopError for recorrected peers. Stop timer when remove from pool. --- blockchain/pool.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/blockchain/pool.go b/blockchain/pool.go index 804a4325..2cb7dda9 100644 --- a/blockchain/pool.go +++ b/blockchain/pool.go @@ -299,6 +299,9 @@ func (pool *BlockPool) removePeer(peerID p2p.ID) { requester.redo(peerID) } } + if p, exist := pool.peers[peerID]; exist && p.timeout != nil { + p.timeout.Stop() + } delete(pool.peers, peerID) }