From c2ef8682fe90c7e8c6e5d9d8ff30767f5a84e2f1 Mon Sep 17 00:00:00 2001 From: obscuren Date: Sat, 16 May 2015 12:29:19 +0200 Subject: [PATCH] eth/downloader: moved start event Start event has moved because it could possibly could stall the miner --- eth/downloader/downloader.go | 4 ++-- miner/agent.go | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index 1bc81406c..d817b223c 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -145,8 +145,6 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error { glog.V(logger.Info).Infoln("Block synchronisation started") } - d.mux.Post(StartEvent{}) - // Create cancel channel for aborting mid-flight d.cancelLock.Lock() d.cancelCh = make(chan struct{}) @@ -166,6 +164,7 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error { if p == nil { return errUnknownPeer } + return d.syncWithPeer(p, hash) } @@ -181,6 +180,7 @@ func (d *Downloader) Has(hash common.Hash) bool { // syncWithPeer starts a block synchronization based on the hash chain from the // specified peer and head hash. func (d *Downloader) syncWithPeer(p *peer, hash common.Hash) (err error) { + d.mux.Post(StartEvent{}) defer func() { // reset on error if err != nil { diff --git a/miner/agent.go b/miner/agent.go index 024e8aec0..da2a2008d 100644 --- a/miner/agent.go +++ b/miner/agent.go @@ -49,6 +49,7 @@ func (self *CpuAgent) Start() { self.quit = make(chan struct{}) // creating current op ch makes sure we're not closing a nil ch + // later on self.quitCurrentOp = make(chan struct{}) self.workCh = make(chan *types.Block, 1)