aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-04-15 23:04:22 +0800
committerobscuren <geffobscura@gmail.com>2015-04-15 23:04:22 +0800
commitec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc (patch)
treebd82a68906e953d3b223724bc2537b39866a03fb
parent52c874a6098d52cc369a982dfd2c88f244a0e3f2 (diff)
downloadgo-tangerine-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.tar.gz
go-tangerine-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.tar.zst
go-tangerine-ec6cbb914b4e3070ad2fd6194c2fa6de2c1080cc.zip
miner: start a newly registered agent if the miner is running. Closes #681
-rw-r--r--miner/miner.go6
-rw-r--r--miner/worker.go6
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))
+ }
}
}
}