miner: start a newly registered agent if the miner is running. Closes #681

This commit is contained in:
obscuren 2015-04-15 17:04:22 +02:00
parent 52c874a609
commit ec6cbb914b
2 changed files with 9 additions and 3 deletions

View File

@ -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 {

View File

@ -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))
}
}
}
}