eth/downloader: fix leftover state between syncs

pull/863/head
Péter Szilágyi 10 years ago
parent bd5720f480
commit edad47bf0e
  1. 5
      eth/downloader/downloader.go

@ -130,9 +130,12 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error {
defer atomic.StoreInt32(&d.synchronising, 0) defer atomic.StoreInt32(&d.synchronising, 0)
// Abort if the queue still contains some leftover data // Abort if the queue still contains some leftover data
if _, cached := d.queue.Size(); cached > 0 { if _, cached := d.queue.Size(); cached > 0 && d.queue.GetHeadBlock() != nil {
return errPendingQueue return errPendingQueue
} }
// Reset the queue to clean any internal leftover state
d.queue.Reset()
// Retrieve the origin peer and initiate the downloading process // Retrieve the origin peer and initiate the downloading process
p := d.peers[id] p := d.peers[id]
if p == nil { if p == nil {

Loading…
Cancel
Save