diff options
author | obscuren <geffobscura@gmail.com> | 2015-04-15 23:04:22 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-04-15 23:04:22 +0800 |
commit | ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc (patch) | |
tree | bd82a68906e953d3b223724bc2537b39866a03fb /miner | |
parent | 52c874a6098d52cc369a982dfd2c88f244a0e3f2 (diff) | |
download | dexon-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.tar.gz dexon-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.tar.zst dexon-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.zip |
miner: start a newly registered agent if the miner is running. Closes #681
Diffstat (limited to 'miner')
-rw-r--r-- | miner/miner.go | 6 | ||||
-rw-r--r-- | miner/worker.go | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/miner/miner.go b/miner/miner.go index aa6c059ba..a14a195d2 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -48,14 +48,16 @@ func (self *Miner) Start(coinbase common.Address) { } func (self *Miner) Register(agent Agent) { + if self.mining { + agent.Start() + } + self.worker.register(agent) } func (self *Miner) Stop() { self.mining = false self.worker.stop() - - //self.pow.(*ethash.Ethash).Stop() } func (self *Miner) HashRate() int64 { diff --git a/miner/worker.go b/miner/worker.go index 916481973..9fb248efa 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -225,7 +225,11 @@ func (self *worker) push() { for _, agent := range self.agents { atomic.AddInt64(&self.atWork, 1) - agent.Work() <- self.current.block.Copy() + if agent.Work() != nil { + agent.Work() <- self.current.block.Copy() + } else { + common.Report(fmt.Sprintf("%v %T\n", agent, agent)) + } } } } |