mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-03-01 00:53:47 +00:00
Merge pull request #1752 from karalabe/fix-eth61-test
eth/downloader: fix race causing occasional test failure
This commit is contained in:
commit
e2d7c1a523
1 changed files with 3 additions and 1 deletions
|
|
@ -739,9 +739,11 @@ func (d *Downloader) fetchBlocks61(from uint64) error {
|
|||
break
|
||||
}
|
||||
// Send a download request to all idle peers, until throttled
|
||||
throttled := false
|
||||
for _, peer := range d.peers.IdlePeers() {
|
||||
// Short circuit if throttling activated
|
||||
if d.queue.Throttle() {
|
||||
throttled = true
|
||||
break
|
||||
}
|
||||
// Reserve a chunk of hashes for a peer. A nil can mean either that
|
||||
|
|
@ -762,7 +764,7 @@ func (d *Downloader) fetchBlocks61(from uint64) error {
|
|||
}
|
||||
// Make sure that we have peers available for fetching. If all peers have been tried
|
||||
// and all failed throw an error
|
||||
if !d.queue.Throttle() && d.queue.InFlight() == 0 {
|
||||
if !throttled && d.queue.InFlight() == 0 {
|
||||
return errPeersUnavailable
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue