• Marius van der Wijden's avatar
    eth/downloader: fixes data race between synchronize and other methods (#21201) · d671dbd5
    Marius van der Wijden authored
    * eth/downloaded: fixed datarace between synchronize and Progress
    
    There was a race condition between `downloader.synchronize()` and `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders`
    This PR changes the behavior of the downloader a bit.
    Previously the functions `Progress` `syncWithPeer` `fetchHeight` `findAncestors` and `processHeaders` read the syncMode anew within their loops. Now they read the syncMode at the start of their function and don't change it during their runtime.
    
    * eth/downloaded: comment
    
    * eth/downloader: added comment
    d671dbd5
modes.go 2.08 KB