diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-07-03 19:22:14 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-07-03 19:22:14 +0800 |
commit | 03129e7c93a4705eb159a2dacbab6e3755fe02ed (patch) | |
tree | 2e2f02177488637b9ba202127ce962309cbe2636 | |
parent | 9f6016e8773f951c5b81b30c0257350e2a9c8e5f (diff) | |
parent | f857fb7600f586ad9bfd037091420f77137c973f (diff) | |
download | dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar.gz dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar.bz2 dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar.lz dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar.xz dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.tar.zst dexon-03129e7c93a4705eb159a2dacbab6e3755fe02ed.zip |
Merge pull request #1390 from karalabe/fix-downloader-test-race
eth/downloader: fix a rare test race on the OSX CI
-rw-r--r-- | eth/downloader/downloader_test.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/eth/downloader/downloader_test.go b/eth/downloader/downloader_test.go index c5fb00289..23549a9ba 100644 --- a/eth/downloader/downloader_test.go +++ b/eth/downloader/downloader_test.go @@ -83,7 +83,13 @@ func newTester() *downloadTester { // sync starts synchronizing with a remote peer, blocking until it completes. func (dl *downloadTester) sync(id string) error { 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) } return err |