Merge pull request #1390 from karalabe/fix-downloader-test-race
eth/downloader: fix a rare test race on the OSX CI
This commit is contained in:
commit
03129e7c93
|
@ -83,7 +83,13 @@ func newTester() *downloadTester {
|
||||||
// sync starts synchronizing with a remote peer, blocking until it completes.
|
// sync starts synchronizing with a remote peer, blocking until it completes.
|
||||||
func (dl *downloadTester) sync(id string) error {
|
func (dl *downloadTester) sync(id string) error {
|
||||||
err := dl.downloader.synchronise(id, dl.peerHashes[id][0])
|
err := dl.downloader.synchronise(id, dl.peerHashes[id][0])
|
||||||
for atomic.LoadInt32(&dl.downloader.processing) == 1 {
|
for {
|
||||||
|
// If the queue is empty and processing stopped, break
|
||||||
|
hashes, blocks := dl.downloader.queue.Size()
|
||||||
|
if hashes+blocks == 0 && atomic.LoadInt32(&dl.downloader.processing) == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
// Otherwise sleep a bit and retry
|
||||||
time.Sleep(time.Millisecond)
|
time.Sleep(time.Millisecond)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue