Skip to content

Commit

Permalink
core: improve shutdown synchronization in BlockChain (ethereum#22853)
Browse files Browse the repository at this point in the history
This change removes misuses of sync.WaitGroup in BlockChain. Before this change,
block insertion modified the WaitGroup counter in order to ensure that Stop would wait
for pending operations to complete. This was racy and could even lead to crashes
if Stop was called at an unfortunate time. The issue is resolved by adding a specialized
'closable' mutex, which prevents chain modifications after stopping while also
synchronizing writers with each other.

Co-authored-by: Felix Lange <fjl@twurst.com>
  • Loading branch information
2 people authored and zzyalbert committed Nov 26, 2021
1 parent 5fd23a6 commit 791332c
Show file tree
Hide file tree
Showing 3 changed files with 164 additions and 61 deletions.

0 comments on commit 791332c

Please sign in to comment.