Merge pull request #2321 from karalabe/downloader-throughput-datarace

eth/downloader: fix a throughput estimation data race
This commit is contained in:
Péter Szilágyi 2016-03-10 20:38:55 +02:00
commit 850f41b374

View File

@ -251,8 +251,8 @@ func (p *peer) setIdle(started time.Time, delivered int, throughput *float64, id
// Irrelevant of the scaling, make sure the peer ends up idle // Irrelevant of the scaling, make sure the peer ends up idle
defer atomic.StoreInt32(idle, 0) defer atomic.StoreInt32(idle, 0)
p.lock.RLock() p.lock.Lock()
defer p.lock.RUnlock() defer p.lock.Unlock()
// If nothing was delivered (hard timeout / unavailable data), reduce throughput to minimum // If nothing was delivered (hard timeout / unavailable data), reduce throughput to minimum
if delivered == 0 { if delivered == 0 {