diff --git a/eth/downloader/statesync.go b/eth/downloader/statesync.go index 97b1672db..25c8fccb5 100644 --- a/eth/downloader/statesync.go +++ b/eth/downloader/statesync.go @@ -200,12 +200,7 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync { } // Start a timer to notify the sync loop if the peer stalled. req.timer = time.AfterFunc(req.timeout, func() { - select { - case timeout <- req: - case <-s.done: - // Prevent leaking of timer goroutines in the unlikely case where a - // timer is fired just before exiting runStateSync. - } + timeout <- req }) active[req.peer.id] = req } @@ -217,7 +212,6 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync { // are marked as idle and de facto _are_ idle. func (d *Downloader) spindownStateSync(active map[string]*stateReq, finished []*stateReq, timeout chan *stateReq, peerDrop chan *peerConnection) { log.Trace("State sync spinning down", "active", len(active), "finished", len(finished)) - for len(active) > 0 { var ( req *stateReq