Răsfoiți Sursa

eth/fetcher: avoid spurious timer events at startup (#22652)

Co-authored-by: Felix Lange <fjl@twurst.com>
xD AKA Rapper King Of cn background diablo & revelations 4 ani în urmă
părinte
comite
a50251e6cb
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      eth/fetcher/block_fetcher.go

+ 6 - 2
eth/fetcher/block_fetcher.go

@@ -331,8 +331,12 @@ func (f *BlockFetcher) FilterBodies(peer string, transactions [][]*types.Transac
 // events.
 func (f *BlockFetcher) loop() {
 	// Iterate the block fetching until a quit is requested
-	fetchTimer := time.NewTimer(0)
-	completeTimer := time.NewTimer(0)
+	var (
+		fetchTimer    = time.NewTimer(0)
+		completeTimer = time.NewTimer(0)
+	)
+	<-fetchTimer.C // clear out the channel
+	<-completeTimer.C
 	defer fetchTimer.Stop()
 	defer completeTimer.Stop()