miner: removed default timer & update dag when threads > 0
This commit is contained in:
parent
ed07ffcde5
commit
2c1a6a349b
@ -16,9 +16,10 @@ type Miner struct {
|
||||
|
||||
MinAcceptedGasPrice *big.Int
|
||||
|
||||
mining bool
|
||||
eth core.Backend
|
||||
pow pow.PoW
|
||||
threads int
|
||||
mining bool
|
||||
eth core.Backend
|
||||
pow pow.PoW
|
||||
}
|
||||
|
||||
func New(eth core.Backend, pow pow.PoW, minerThreads int) *Miner {
|
||||
@ -28,6 +29,7 @@ func New(eth core.Backend, pow pow.PoW, minerThreads int) *Miner {
|
||||
for i := 0; i < minerThreads; i++ {
|
||||
miner.worker.register(NewCpuMiner(i, pow))
|
||||
}
|
||||
miner.threads = minerThreads
|
||||
|
||||
return miner
|
||||
}
|
||||
@ -40,7 +42,9 @@ func (self *Miner) Start(coinbase common.Address) {
|
||||
self.mining = true
|
||||
self.worker.coinbase = coinbase
|
||||
|
||||
self.pow.(*ethash.Ethash).UpdateDAG()
|
||||
if self.threads > 0 {
|
||||
self.pow.(*ethash.Ethash).UpdateDAG()
|
||||
}
|
||||
|
||||
self.worker.start()
|
||||
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
"sort"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core"
|
||||
@ -151,8 +150,6 @@ func (self *worker) register(agent Agent) {
|
||||
func (self *worker) update() {
|
||||
events := self.mux.Subscribe(core.ChainHeadEvent{}, core.ChainSideEvent{}, core.TxPreEvent{})
|
||||
|
||||
timer := time.NewTicker(2 * time.Second)
|
||||
|
||||
out:
|
||||
for {
|
||||
select {
|
||||
@ -171,15 +168,6 @@ out:
|
||||
}
|
||||
case <-self.quit:
|
||||
break out
|
||||
case <-timer.C:
|
||||
if glog.V(logger.Detail) && atomic.LoadInt64(&self.mining) == 1 {
|
||||
glog.Infoln("Hash rate:", self.HashRate(), "Khash")
|
||||
}
|
||||
|
||||
// XXX In case all mined a possible uncle
|
||||
if atomic.LoadInt64(&self.atWork) == 0 && atomic.LoadInt64(&self.mining) == 1 {
|
||||
self.commitNewWork()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user