aboutsummaryrefslogtreecommitdiffstats
path: root/miner/agent.go
diff options
context:
space:
mode:
Diffstat (limited to 'miner/agent.go')
-rw-r--r--miner/agent.go13
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}
}
}