Skip to content

Commit

Permalink
core: improve shutdown synchronization in BlockChain (#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 <[email protected]>
  • Loading branch information
holiman and fjl authored Oct 7, 2021
1 parent 4e599ee commit edb1937
Show file tree
Hide file tree
Showing 3 changed files with 164 additions and 61 deletions.
Loading

0 comments on commit edb1937

Please sign in to comment.