Bläddra i källkod

Merge pull request #14973 from rjl493456442/fix_downloader

eth/downloader: exit loop when there is no more available task
Péter Szilágyi 8 år sedan
förälder
incheckning
c8e70186a6
1 ändrade filer med 4 tillägg och 0 borttagningar
  1. 4 0
      eth/downloader/downloader.go

+ 4 - 0
eth/downloader/downloader.go

@@ -1093,6 +1093,10 @@ func (d *Downloader) fetchParts(errCancel error, deliveryCh chan dataPack, deliv
 					throttled = true
 					break
 				}
+				// Short circuit if there is no more available task.
+				if pending() == 0 {
+					break
+				}
 				// Reserve a chunk of fetches for a peer. A nil can mean either that
 				// no more headers are available, or that the peer is known not to
 				// have them.