go-ethereum/internal
Martin Holst Swende edb1937cf7
core: improve shutdown synchronization in BlockChain (#22853)
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>
2021-10-07 15:47:50 +02:00
..
build build: improve cross compilation setup (#22804) 2021-05-04 13:01:20 +02:00
cmdtest cmd/evm: add tests for evm t8n (#23507) 2021-09-02 09:22:43 +02:00
debug internal/debug: make gosimple linter happy 2021-09-20 18:55:35 +03:00
ethapi internal/ethapi: make header/block rlp retrieval canonical 2021-10-03 16:47:51 +03:00
flags cmd/geth: add db commands stats, compact, put, get, delete (#22014) 2021-02-23 11:27:32 +01:00
guide all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
jsre core, graphql, internal: expose effectiveGasPrice in receipts 2021-06-16 09:52:06 +03:00
syncx core: improve shutdown synchronization in BlockChain (#22853) 2021-10-07 15:47:50 +02:00
testlog internal/testlog: print file+line number of log call in test log (#20528) 2020-01-08 17:11:51 +02:00
utesting cmd/devp2p, internal/utesting: implement TAP output (#21760) 2020-11-04 15:02:58 +01:00
web3ext eth/api: add rpc method to obtain which states are accessible (#23646) 2021-10-05 08:13:00 +02:00