aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-05-15 06:41:27 +0800
committerobscuren <geffobscura@gmail.com>2015-05-15 06:42:06 +0800
commit0f76a1c6df44bc3242a64e76bef66dfe312d259b (patch)
tree92aa35e862d1f542b376379a0900b870b2f8cefc /core
parent580bae0a86ab39662dc49efe008424518469cafd (diff)
downloaddexon-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.go4
-rw-r--r--core/events.go2
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
}