1. 09 May, 2016 1 commit
    • Felix Lange's avatar
      core, eth, miner: improve shutdown synchronisation · 56ed6152
      Felix Lange authored
      Shutting down geth prints hundreds of annoying error messages in some
      cases. The errors appear because the Stop method of eth.ProtocolManager,
      miner.Miner and core.TxPool is asynchronous. Left over peer sessions
      generate events which are processed after Stop even though the database
      has already been closed.
      
      The fix is to make Stop synchronous using sync.WaitGroup.
      
      For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
      a way to stop new peer sessions from being added while waiting on the
      WaitGroup. The eth protocol Run function now selects on a signaling
      channel and adds to the WaitGroup only if ProtocolManager is not
      shutting down.
      
      For miner.worker and core.TxPool the number of goroutines is static,
      WaitGroup can be used in the usual way without additional
      synchronisation.
      56ed6152
  2. 06 May, 2016 5 commits
  3. 03 May, 2016 6 commits
  4. 02 May, 2016 6 commits
  5. 29 Apr, 2016 4 commits
  6. 28 Apr, 2016 8 commits
  7. 27 Apr, 2016 2 commits
  8. 26 Apr, 2016 4 commits
  9. 25 Apr, 2016 3 commits
  10. 22 Apr, 2016 1 commit