浏览代码

Fixed miner stopping / starting:wq

obscuren 11 年之前
父节点
当前提交
f702e27485
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      utils/cmd.go

+ 8 - 2
utils/cmd.go

@@ -247,7 +247,10 @@ func StartMining(ethereum *eth.Ethereum) bool {
 		addr := ethereum.KeyManager().Address()
 
 		go func() {
-			miner = ethminer.NewDefaultMiner(addr, ethereum)
+			if miner == nil {
+				miner = ethminer.NewDefaultMiner(addr, ethereum)
+			}
+
 			// Give it some time to connect with peers
 			time.Sleep(3 * time.Second)
 			for !ethereum.IsUpToDate() {
@@ -255,7 +258,6 @@ func StartMining(ethereum *eth.Ethereum) bool {
 			}
 
 			logger.Infoln("Miner started")
-			miner := ethminer.NewDefaultMiner(addr, ethereum)
 			miner.Start()
 		}()
 		RegisterInterrupt(func(os.Signal) {
@@ -269,10 +271,14 @@ func StartMining(ethereum *eth.Ethereum) bool {
 func StopMining(ethereum *eth.Ethereum) bool {
 	if ethereum.Mining && miner != nil {
 		miner.Stop()
+
 		logger.Infoln("Miner stopped")
+
 		ethereum.Mining = false
+
 		return true
 	}
+
 	return false
 }