mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 13:46:43 +00:00
fix bug in sync package
This commit is contained in:
parent
5572f2ed22
commit
ca2c187844
1 changed files with 7 additions and 2 deletions
|
|
@ -120,7 +120,12 @@ func (s *Syncer) run() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if target != nil && header.Number.Cmp(target.Number) <= 0 {
|
if target != nil && header.Number.Cmp(target.Number) <= 0 {
|
||||||
req.errc <- fmt.Errorf("stale sync target, current: %d, received: %d", target.Number, header.Number)
|
// If the remote number is equal to the target, we don't need to resync.
|
||||||
|
if header.Number == target.Number {
|
||||||
|
req.errc <- nil
|
||||||
|
} else {
|
||||||
|
req.errc <- fmt.Errorf("stale sync target, current: %d, received: %d", target.Number, header.Number)
|
||||||
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
target = header
|
target = header
|
||||||
|
|
@ -137,7 +142,7 @@ func (s *Syncer) run() {
|
||||||
}
|
}
|
||||||
if block := s.backend.BlockChain().GetBlockByHash(target.Hash()); block != nil {
|
if block := s.backend.BlockChain().GetBlockByHash(target.Hash()); block != nil {
|
||||||
log.Info("Sync target reached", "number", block.NumberU64(), "hash", block.Hash())
|
log.Info("Sync target reached", "number", block.NumberU64(), "hash", block.Hash())
|
||||||
go s.stack.Close() // async since we need to close ourselves
|
go s.Stop() // async since we need to close ourselves
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue