diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-03-16 17:20:02 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-03-16 17:23:26 +0800 |
commit | 0228fb57cd58147ab2c3914520c7805e25a8a1c4 (patch) | |
tree | 1540b12d2aa49ed869b2bb4bde5bd5b4c44532a0 /miner/worker.go | |
parent | 2855a93ede6e9437d05a82c2397d48744621db9b (diff) | |
download | dexon-0228fb57cd58147ab2c3914520c7805e25a8a1c4.tar.gz dexon-0228fb57cd58147ab2c3914520c7805e25a8a1c4.tar.zst dexon-0228fb57cd58147ab2c3914520c7805e25a8a1c4.zip |
eth, miner: fetch pending block/state in on go (data race)
Diffstat (limited to 'miner/worker.go')
-rw-r--r-- | miner/worker.go | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/miner/worker.go b/miner/worker.go index f3e95cb5f..108b2d6b5 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -152,13 +152,7 @@ func (self *worker) setEtherbase(addr common.Address) { self.coinbase = addr } -func (self *worker) pendingState() *state.StateDB { - self.currentMu.Lock() - defer self.currentMu.Unlock() - return self.current.state -} - -func (self *worker) pendingBlock() *types.Block { +func (self *worker) pending() (*types.Block, *state.StateDB) { self.currentMu.Lock() defer self.currentMu.Unlock() @@ -168,9 +162,9 @@ func (self *worker) pendingBlock() *types.Block { self.current.txs, nil, self.current.receipts, - ) + ), self.current.state } - return self.current.Block + return self.current.Block, self.current.state } func (self *worker) start() { |