Browse Source

miner: fix state locking while writing to chain (issue #16933) (#17173)

ledgerwatch 7 năm trước cách đây
mục cha
commit
2fbc454355
1 tập tin đã thay đổi với 2 bổ sung0 xóa
  1. 2 0
      miner/worker.go

+ 2 - 0
miner/worker.go

@@ -316,7 +316,9 @@ func (self *worker) wait() {
 			for _, log := range work.state.Logs() {
 				log.BlockHash = block.Hash()
 			}
+			self.currentMu.Lock()
 			stat, err := self.chain.WriteBlockWithState(block, work.receipts, work.state)
+			self.currentMu.Unlock()
 			if err != nil {
 				log.Error("Failed writing block to chain", "err", err)
 				continue