fix iterator passed when singleton blockHash added when new block arrives

This commit is contained in:
zelig 2015-01-05 05:46:51 +00:00
parent 81f8372611
commit aec5c3857f

View file

@ -216,12 +216,12 @@ func (self *ethProtocol) handle() error {
// (or selected as new best peer) // (or selected as new best peer)
if self.blockPool.AddPeer(request.TD, hash, self.id, self.requestBlockHashes, self.requestBlocks, self.protoErrorDisconnect) { if self.blockPool.AddPeer(request.TD, hash, self.id, self.requestBlockHashes, self.requestBlocks, self.protoErrorDisconnect) {
called := true called := true
iter := func() (hash []byte, ok bool) { iter := func() ([]byte, bool) {
if called { if called {
called = false called = false
return hash, true return hash, true
} else { } else {
return return nil, false
} }
} }
self.blockPool.AddBlockHashes(iter, self.id) self.blockPool.AddBlockHashes(iter, self.id)