eth/downloader: avoid hidden reference to finished statesync request (#15545)

pull/15807/head
Péter Szilágyi 7 years ago committed by Felix Lange
parent 2fe07c203e
commit 9c42a41ed8
  1. 5
      eth/downloader/statesync.go

@ -132,7 +132,10 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync {
// Send the next finished request to the current sync: // Send the next finished request to the current sync:
case deliverReqCh <- deliverReq: case deliverReqCh <- deliverReq:
finished = append(finished[:0], finished[1:]...) // Shift out the first request, but also set the emptied slot to nil for GC
copy(finished, finished[1:])
finished[len(finished)-1] = nil
finished = finished[:len(finished)-1]
// Handle incoming state packs: // Handle incoming state packs:
case pack := <-d.stateCh: case pack := <-d.stateCh:

Loading…
Cancel
Save