Commit a009132c authored by zelig's avatar zelig

oops peer unlocked before return - fixes deadlock

parent 0e2bc231
...@@ -384,6 +384,7 @@ func (self *BlockPool) AddBlockHashes(next func() (common.Hash, bool), peerId st ...@@ -384,6 +384,7 @@ func (self *BlockPool) AddBlockHashes(next func() (common.Hash, bool), peerId st
// first check if we are building the head section of a peer's chain // first check if we are building the head section of a peer's chain
if bestpeer.parentHash == hash { if bestpeer.parentHash == hash {
if self.hasBlock(bestpeer.currentBlockHash) { if self.hasBlock(bestpeer.currentBlockHash) {
bestpeer.lock.RUnlock()
return return
} }
/* /*
......
...@@ -472,6 +472,7 @@ func (self *peer) getBlockHashes() bool { ...@@ -472,6 +472,7 @@ func (self *peer) getBlockHashes() bool {
} else { } else {
// XXX added currentBlock check (?) // XXX added currentBlock check (?)
if self.currentBlock != nil && self.currentBlock.Td != nil && !self.currentBlock.Queued() { if self.currentBlock != nil && self.currentBlock.Td != nil && !self.currentBlock.Queued() {
plog.DebugDetailf("HeadSection: <%s> inserted %s to blockchain... check TD %v =?= %v", self.id, hex(self.parentHash), self.td, self.currentBlock.Td)
if self.td.Cmp(self.currentBlock.Td) != 0 { if self.td.Cmp(self.currentBlock.Td) != 0 {
self.addError(ErrIncorrectTD, "on block %x", self.currentBlockHash) self.addError(ErrIncorrectTD, "on block %x", self.currentBlockHash)
self.bp.status.badPeers[self.id]++ self.bp.status.badPeers[self.id]++
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment