miner: fix current work data race

release/1.0.0
Péter Szilágyi 10 years ago committed by Jeffrey Wilcke
parent 228fc5a83a
commit c9d6fba07d
  1. 5
      miner/worker.go

@ -155,6 +155,7 @@ func (self *worker) pendingState() *state.StateDB {
func (self *worker) pendingBlock() *types.Block {
self.currentMu.Lock()
defer self.currentMu.Unlock()
if atomic.LoadInt32(&self.mining) == 0 {
return types.NewBlock(
self.current.header,
@ -223,9 +224,9 @@ out:
case core.TxPreEvent:
// Apply transaction to the pending state if we're not mining
if atomic.LoadInt32(&self.mining) == 0 {
self.mu.Lock()
self.currentMu.Lock()
self.current.commitTransactions(types.Transactions{ev.Tx}, self.gasPrice, self.proc)
self.mu.Unlock()
self.currentMu.Unlock()
}
}
case <-self.quit:

Loading…
Cancel
Save