VM execution fixes

Refactoring caused executing issues
This commit is contained in:
obscuren
2014-09-15 22:11:05 +02:00
parent 33a0dec8a1
commit 399256b384
7 changed files with 57 additions and 51 deletions

19
peer.go
View File

@ -497,18 +497,16 @@ func (p *Peer) HandleInbound() {
p.lastBlockReceived = time.Now()
}
var err error
blockPool.CheckLinkAndProcess(func(block *ethchain.Block) {
err := p.ethereum.StateManager().Process(block, false)
if err != nil {
peerlogger.Infoln(err)
}
err = p.ethereum.StateManager().Process(block, false)
})
/*
if !linked {
p.FetchBlocks()
}
*/
if err != nil {
peerlogger.Infoln(err)
} else {
p.FetchBlocks()
}
}
}
}
@ -529,11 +527,10 @@ func (self *Peer) FetchHashes() {
blockPool := self.ethereum.blockPool
if self.td.Cmp(blockPool.td) >= 0 {
peerlogger.Debugf("Requesting hashes from %x\n", self.lastReceivedHash)
blockPool.td = self.td
if !blockPool.HasLatestHash() {
self.QueueMessage(ethwire.NewMessage(ethwire.MsgGetBlockHashesTy, []interface{}{self.lastReceivedHash, uint32(200)}))
self.QueueMessage(ethwire.NewMessage(ethwire.MsgGetBlockHashesTy, []interface{}{self.lastReceivedHash, uint32(256)}))
}
}
}