aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-05-16 18:29:19 +0800
committerobscuren <geffobscura@gmail.com>2015-05-16 19:02:30 +0800
commitc2ef8682fe90c7e8c6e5d9d8ff30767f5a84e2f1 (patch)
tree15b743c0ff1ff1553c6b7293b8cef26da4493b79
parentfe64a13cea19556658971189024b5df98b45d4b7 (diff)
downloaddexon-c2ef8682fe90c7e8c6e5d9d8ff30767f5a84e2f1.tar.gz
dexon-c2ef8682fe90c7e8c6e5d9d8ff30767f5a84e2f1.tar.zst
dexon-c2ef8682fe90c7e8c6e5d9d8ff30767f5a84e2f1.zip
eth/downloader: moved start event
Start event has moved because it could possibly could stall the miner
-rw-r--r--eth/downloader/downloader.go4
-rw-r--r--miner/agent.go1
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)