les: fix retriever logic (#17705)

pull/17718/head
Felföldi Zsolt 6 years ago committed by Péter Szilágyi
parent da29332c5f
commit c37238cae9
  1. 8
      les/retrieve.go

@ -212,7 +212,7 @@ func (r *sentReq) stateRequesting() reqStateFn {
// no need to go to stopped state because waiting() already returned false
return nil
}
case rpSoftTimeout:
case rpSoftTimeout, rpDeliveredInvalid:
// last request timed out, try asking a new peer
go r.tryRequest()
r.lastReqQueued = true
@ -242,7 +242,11 @@ func (r *sentReq) stateNoMorePeers() reqStateFn {
r.stop(nil)
return r.stateStopped
}
return r.stateNoMorePeers
if r.waiting() {
return r.stateNoMorePeers
}
r.stop(light.ErrNoPeers)
return nil
case <-r.stopCh:
return r.stateStopped
}

Loading…
Cancel
Save