diff options
author | obscuren <geffobscura@gmail.com> | 2015-05-15 06:41:27 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-05-15 06:42:06 +0800 |
commit | 0f76a1c6df44bc3242a64e76bef66dfe312d259b (patch) | |
tree | 92aa35e862d1f542b376379a0900b870b2f8cefc /core | |
parent | 580bae0a86ab39662dc49efe008424518469cafd (diff) | |
download | dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar.gz dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar.bz2 dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar.lz dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar.xz dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.tar.zst dexon-0f76a1c6df44bc3242a64e76bef66dfe312d259b.zip |
core: changed how head events are checked
Diffstat (limited to 'core')
-rw-r--r-- | core/chain_manager.go | 4 | ||||
-rw-r--r-- | core/events.go | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/core/chain_manager.go b/core/chain_manager.go index 9f6d7f823..2c96c243c 100644 --- a/core/chain_manager.go +++ b/core/chain_manager.go @@ -593,7 +593,7 @@ func (self *ChainManager) InsertChain(chain types.Blocks) (int, error) { self.setTransState(state.New(block.Root(), self.stateDb)) self.txState.SetState(state.New(block.Root(), self.stateDb)) - queue[i] = ChainEvent{block, logs} + queue[i] = ChainEvent{block, block.Hash(), logs} queueEvent.canonicalCount++ if glog.V(logger.Debug) { @@ -683,7 +683,7 @@ out: case ChainEvent: // We need some control over the mining operation. Acquiring locks and waiting for the miner to create new block takes too long // and in most cases isn't even necessary. - if i+1 == ev.canonicalCount { + if self.lastBlockHash == event.Hash { self.currentGasLimit = CalcGasLimit(event.Block) self.eventMux.Post(ChainHeadEvent{event.Block}) } diff --git a/core/events.go b/core/events.go index 1ea35c2f4..7b56f8bb6 100644 --- a/core/events.go +++ b/core/events.go @@ -3,6 +3,7 @@ package core import ( "math/big" + "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/types" ) @@ -27,6 +28,7 @@ type ChainSplitEvent struct { type ChainEvent struct { Block *types.Block + Hash common.Hash Logs state.Logs } |