From 8f3c160a80ebf5a7b69a069ce0e0cd5be29b3be7 Mon Sep 17 00:00:00 2001 From: rjl493456442 Date: Wed, 25 Sep 2019 18:54:22 +0800 Subject: [PATCH] eth/downloader: use isMaster function --- eth/downloader/downloader.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index 69e4f6b9a8..a0ea8e6615 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -314,12 +314,7 @@ func (d *Downloader) UnregisterPeer(id string) error { } d.queue.Revoke(id) - // If this peer was the master peer, abort sync immediately - d.cancelLock.RLock() - master := id == d.cancelPeer - d.cancelLock.RUnlock() - - if master { + if d.isMaster(id) { d.cancel() } return nil @@ -562,8 +557,8 @@ func (d *Downloader) spawnSync(fetchers []func() error) error { // isMaster returns an indicator whether the given peer id is master peer // used for syncing. func (d *Downloader) isMaster(id string) bool { - d.cancelLock.Lock() - defer d.cancelLock.Unlock() + d.cancelLock.RLock() + defer d.cancelLock.RUnlock() return d.cancelPeer == id }