diff options
Diffstat (limited to 'miner/agent.go')
-rw-r--r-- | miner/agent.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/miner/agent.go b/miner/agent.go index 9046f5d5a..6865d5a08 100644 --- a/miner/agent.go +++ b/miner/agent.go @@ -42,11 +42,16 @@ func (self *CpuMiner) Start() { } func (self *CpuMiner) update() { + justStarted := true out: for { select { case block := <-self.c: - self.quitCurrentOp <- struct{}{} + if justStarted { + justStarted = true + } else { + self.quitCurrentOp <- struct{}{} + } go self.mine(block) case <-self.quit: @@ -69,8 +74,8 @@ done: func (self *CpuMiner) mine(block *types.Block) { minerlogger.Infof("(re)started agent[%d]. mining...\n", self.index) - nonce := self.pow.Search(block, self.quitCurrentOp) - if nonce != nil { - self.returnCh <- Work{block.Number().Uint64(), nonce} + nonce, mixDigest, seedHash := self.pow.Search(block, self.quitCurrentOp) + if nonce != 0 { + self.returnCh <- Work{block.Number().Uint64(), nonce, mixDigest, seedHash} } } |