dash/src
MarcoFalke 334496ea7e
Merge bitcoin/bitcoin#21775: p2p: Limit m_block_inv_mutex
fac96d026511f22f0202ce3631a38be0e990555f p2p: Limit m_block_inv_mutex (MarcoFalke)

Pull request description:

  Keeping the lock longer than needed is confusing to reviewers and thread analysis. For example, keeping the lock while appending tx-invs, which requires the mempool lock, will tell thread analysis tools an incorrect lock order of `(1) m_block_inv_mutex, (2) pool.cs`.

ACKs for top commit:
  Crypt-iQ:
    crACK fac96d026511f22f0202ce3631a38be0e990555f
  jnewbery:
    utACK fac96d026511f22f0202ce3631a38be0e990555f
  theStack:
    Code-Review ACK fac96d026511f22f0202ce3631a38be0e990555f

Tree-SHA512: fcfac0f1f8b16df7522513abf716b2eed3d2fc9153f231c8cb61f451e342f29c984a5c872deca6bab3e601e5d651874cc229146c9370e46811b4520747a21f2b
2024-07-27 13:04:24 +07:00
..
bench Merge #6079: backport: merge bitcoin#22433, #22464, #22845, #23007, #21920, #21430, #22133, #23269, #23494, #20201, #23947, #22088, #22093, partial bitcoin#20938 (build backports) 2024-06-27 15:53:03 -05:00
bls Merge bitcoin/bitcoin#24213: refactor: use Span in random.* 2024-06-06 22:58:30 -05:00
coinjoin Merge #6137: backport: merge bitcoin#21732, #21762, #21754, #21953, #21850, #22633, #22738, #23154, #23721, #24002, #24197, merge bitcoin-core/gui#399 (auxiliary backports: part 14) 2024-07-23 13:59:12 -05:00
compat Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
config
consensus Merge #21377: Speedy trial support for versionbits 2024-04-23 22:41:10 +07:00
crc32c Merge bitcoin/bitcoin#25836: subtree: update crc32c subtree 2024-02-29 09:35:00 -06:00
crypto Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
dashbls
evo merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
governance feat: implement governance RPCs votealias and votemany for descriptor wallets 2024-07-05 15:37:29 +07:00
gsl
immer
index merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
init Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
interfaces Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
ipc Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
leveldb Merge bitcoin/bitcoin#26209: Update leveldb subtree 2024-03-05 10:40:36 -06:00
llmq merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
logging Merge bitcoin/bitcoin#22904: sync, log: inline lock contention logging macro to fix duration, improve BCLog::LogMsg() 2024-06-04 12:51:04 -05:00
masternode fix: workaround for buggy cppcheck in masternode/utils 2024-07-08 20:31:18 +07:00
node Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
policy merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
primitives Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
qt Merge #6111: backport: bitcoin-core/gui#154, #176, #221, #248, #251 - qt improvements and related fixes 2024-07-23 14:17:33 -05:00
rpc Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
script merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
secp256k1
support Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
test merge bitcoin#22633: Replace remaining binascii method calls 2024-07-23 17:45:24 +00:00
univalue
util merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
wallet merge bitcoin#23721: Move restorewallet() logic to the wallet section 2024-07-23 17:45:24 +00:00
zmq Merge #20012: rpc: Remove duplicate name and argNames from CRPCCommand 2024-07-16 00:14:14 +07:00
.clang-format Merge #21221: [tools] Allow argument/parameter bin packing in clang-format 2024-04-11 02:25:07 +07:00
addrdb.cpp merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
addrdb.h fix: build with gcc 13.2.0 - missing header memory in addrdb 2024-06-13 02:57:27 +07:00
addressindex.cpp
addressindex.h refactor: define all key/value pairings as *Entry and use them instead 2024-06-28 08:14:30 +00:00
addrman_impl.h fix: Let addrman handle multiple ports for all networks 2024-06-14 22:04:55 +03:00
addrman.cpp addrman: allow for silent overwriting of inconsistent peers.dat 2024-06-27 06:09:30 +00:00
addrman.h addrman: allow for silent overwriting of inconsistent peers.dat 2024-06-27 06:09:30 +00:00
amount.h
arith_uint256.cpp
arith_uint256.h
attributes.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
banman.cpp Merge bitcoin/bitcoin#25149: refactor: Add thread safety annotation to BanMan::SweepBanned() 2024-06-06 22:58:31 -05:00
banman.h Merge bitcoin/bitcoin#25149: refactor: Add thread safety annotation to BanMan::SweepBanned() 2024-06-06 22:58:31 -05:00
base58.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
base58.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
batchedlogger.cpp Merge #19809: log: Prefix log messages with function name and source code location if -logsourcelocations is set 2024-04-11 02:25:08 +07:00
batchedlogger.h Merge #19809: log: Prefix log messages with function name and source code location if -logsourcelocations is set 2024-04-11 02:25:08 +07:00
bech32.cpp
bech32.h
bip324.cpp merge bitcoin#28267: BIP324 ciphersuite follow-up 2024-03-05 21:43:22 +00:00
bip324.h merge bitcoin#28267: BIP324 ciphersuite follow-up 2024-03-05 21:43:22 +00:00
bitcoin-cli.cpp Merge bitcoin/bitcoin#22501: netinfo: display addr_{processed, rate_limited, relay_enabled} and relaytxes data 2024-07-23 10:59:40 -05:00
bitcoin-tx.cpp merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
bitcoin-wallet.cpp Merge #20715: util: Add ArgsManager::GetCommand() and use it in bitcoin-wallet 2024-06-20 12:23:02 +07:00
bitcoind.cpp Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
blockencodings.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
blockencodings.h
blockfilter.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
blockfilter.h Merge bitcoin/bitcoin#25967: refactor: add LIFETIMEBOUND to blockfilter where needed 2024-02-29 09:35:01 -06:00
bloom.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
bloom.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
cachemap.h
cachemultimap.h
chain.cpp
chain.h merge bitcoin#22932: Add CBlockIndex lock annotations, guard nStatus/nFile/nDataPos/nUndoPos by cs_main 2024-07-19 17:17:48 +00:00
chainparams.cpp merge bitcoin#21953: fuzz: Add utxo_snapshot target 2024-07-23 17:45:24 +00:00
chainparams.h
chainparamsbase.cpp fix: adjust incorrect parameter description that says there is a default that doesn't exist 2024-07-08 12:53:26 -05:00
chainparamsbase.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
chainparamsseeds.h chore: update seeds for v20.1 2024-03-03 23:34:34 -06:00
checkqueue.h merge bitcoin#25109: Strengthen AssertLockNotHeld assertions 2024-05-09 08:52:48 +00:00
clientversion.cpp Merge bitcoin/bitcoin#22715: wallet: use FormatFullVersion() & PACKAGE_NAME in dumpwallet 2024-05-24 13:30:00 -05:00
clientversion.h Merge bitcoin/bitcoin#22715: wallet: use FormatFullVersion() & PACKAGE_NAME in dumpwallet 2024-05-24 13:30:00 -05:00
coins.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
coins.h
compat.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
compressor.cpp
compressor.h
context.h refactor: use monostate instead std::optional in CoreContext 2024-07-15 23:51:23 +07:00
core_io.h merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
core_memusage.h
core_read.cpp
core_write.cpp merge bitcoin#20286: deprecate addresses and reqSigs from rpc outputs 2024-06-27 19:27:37 +00:00
ctpl_stl.h
cuckoocache.h
cxxtimer.hpp fix: adjust doxygen for dash codebase for -Wdocumentation 2024-07-13 01:58:21 +07:00
dash-cli-res.rc
dash-tx-res.rc
dash-wallet-res.rc
dashd-res.rc
dbwrapper.cpp Merge bitcoin/bitcoin#24213: refactor: use Span in random.* 2024-06-06 22:58:30 -05:00
dbwrapper.h fix: adjust doxygen for dash codebase for -Wdocumentation 2024-07-13 01:58:21 +07:00
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp
deploymentstatus.h
dsnotificationinterface.cpp merge bitcoin#21866: Farewell, global Chainstate! 2024-06-26 13:50:50 +00:00
dsnotificationinterface.h merge bitcoin#21866: Farewell, global Chainstate! 2024-06-26 13:50:50 +00:00
dummywallet.cpp Merge #14582: wallet: always do avoid partial spends if fees are within a specified range 2024-03-18 16:01:38 +07:00
flat-database.h merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
flatfile.cpp
flatfile.h
fs.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
fs.h
hash.cpp merge bitcoin#21430: Add -Werror=implicit-fallthrough compile flag 2024-06-25 13:39:56 +00:00
hash.h merge bitcoin#26909: prevent peers.dat corruptions by only serializing once 2024-06-26 20:56:42 +00:00
httprpc.cpp Merge #21574: Drop JSONRPCRequest constructors after #21366 2024-07-16 00:25:06 +07:00
httprpc.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
httpserver.cpp feat: add logging for RPC HTTP requests: command, user, http-code, time of running 2024-06-30 13:29:25 +07:00
httpserver.h feat: change handler to '/' for external users, use only rpc user name to choose queue 2024-06-07 16:31:07 +07:00
i2p.cpp merge bitcoin#26837: I2P network optimizations 2024-05-29 11:48:38 -05:00
i2p.h merge bitcoin#25355: add support for transient addresses for outbound connections 2024-05-29 11:48:37 -05:00
indirectmap.h
init.cpp fix: follow-up bitcoin/bitcoin#21732 - minor missing typo 2024-07-24 20:05:52 +07:00
init.h Merge #21574: Drop JSONRPCRequest constructors after #21366 2024-07-16 00:25:06 +07:00
key_io.cpp
key_io.h
key.cpp Merge bitcoin/bitcoin#24213: refactor: use Span in random.* 2024-06-06 22:58:30 -05:00
key.h
limitedmap.h
logging.cpp Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
logging.h Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
Makefile.am Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support 2024-07-27 13:04:24 +07:00
Makefile.bench.include merge bitcoin#22284: performance improvements to ProtectEvictionCandidatesByRatio() 2024-06-12 16:37:11 +00:00
Makefile.crc32c.include
Makefile.leveldb.include merge bitcoin#21430: Add -Werror=implicit-fallthrough compile flag 2024-06-25 13:39:56 +00:00
Makefile.qt_locale.include
Makefile.qt.include Merge bitcoin-core/gui#176: Fix TxViewDelegate layout 2024-07-23 13:08:39 +07:00
Makefile.qttest.include Merge #21531: test: remove qt byteswap compattests 2024-04-10 03:19:40 +07:00
Makefile.test_fuzz.include
Makefile.test_util.include merge bitcoin#21526: UpdateTip/CheckBlockIndex assumeutxo support 2024-07-19 17:17:47 +00:00
Makefile.test.include merge bitcoin#21953: fuzz: Add utxo_snapshot target 2024-07-23 17:45:24 +00:00
Makefile.univalue.include
mapport.cpp
mapport.h
memusage.h
merkleblock.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
merkleblock.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
messagesigner.cpp
messagesigner.h
miner.cpp merge bitcoin#24515: Only load BlockMan in BlockMan member functions 2024-07-19 17:17:48 +00:00
miner.h refactor: drop usage of chainstate globals in asset locks logic 2024-06-26 13:50:48 +00:00
net_permissions.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
net_permissions.h Merge bitcoin/bitcoin#26100: doc: clarify that NetPermissionFlags::Implicit is only about whitelists 2024-06-10 11:00:47 -05:00
net_processing.cpp Merge bitcoin/bitcoin#21775: p2p: Limit m_block_inv_mutex 2024-07-27 13:04:24 +07:00
net_processing.h partial bitcoin#23706: getblockfrompeer followups 2024-06-27 19:28:32 +00:00
net_types.cpp merge bitcoin#22848: Expose BanMapToJson / BanMapFromJson 2024-06-04 13:31:31 +00:00
net_types.h merge bitcoin#22848: Expose BanMapToJson / BanMapFromJson 2024-06-04 13:31:31 +00:00
net.cpp Merge bitcoin/bitcoin#21750: net: remove unnecessary check of CNode::cs_vSend 2024-07-27 13:04:24 +07:00
net.h refactor: enumerate each CNode argument on a separate line 2024-06-12 16:37:12 +00:00
netaddress.cpp fix: Let addrman handle multiple ports for all networks 2024-06-14 22:04:55 +03:00
netaddress.h fix: Let addrman handle multiple ports for all networks 2024-06-14 22:04:55 +03:00
netbase.cpp merge bitcoin#24357: make setsockopt() and SetSocketNoDelay() mockable/testable 2024-06-11 15:52:19 +00:00
netbase.h Merge #21613: build: enable -Wdocumentation 2024-07-13 00:41:25 +07:00
netfulfilledman.cpp refactor: remove CNetFulfilledRequestManager global, move to NodeContext 2024-03-18 21:36:34 +00:00
netfulfilledman.h refactor: remove CNetFulfilledRequestManager global, move to NodeContext 2024-03-18 21:36:34 +00:00
netmessagemaker.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
noui.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
noui.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
outputtype.cpp
outputtype.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
pow.cpp
pow.h
prevector.h
protocol.cpp Merge bitcoin/bitcoin#21939: refactor: Replace memset calls with array initialization 2024-04-23 09:53:06 -05:00
protocol.h Merge bitcoin/bitcoin#22780: doc: Remove incorrect INIT_PROTO_VERSION from nTime comment 2024-07-23 10:59:39 -05:00
psbt.cpp
psbt.h
pubkey.cpp Merge bitcoin/bitcoin#21745: refactor: Add missing includes in pubkey.cpp/pubkey.h 2024-05-19 11:11:35 -05:00
pubkey.h Merge bitcoin/bitcoin#21745: refactor: Add missing includes in pubkey.cpp/pubkey.h 2024-05-19 11:11:35 -05:00
random.cpp Merge bitcoin/bitcoin#24213: refactor: use Span in random.* 2024-06-06 22:58:30 -05:00
random.h Merge bitcoin/bitcoin#24213: refactor: use Span in random.* 2024-06-06 22:58:30 -05:00
randomenv.cpp
randomenv.h
rest.cpp Merge #6085: backport: merge bitcoin#21727, #22371, #21526, #23174, #23785, #23581, #23974, #22932, #24050, #24515 (blockstorage backports) 2024-07-23 09:30:59 -05:00
reverse_iterator.h
saltedhasher.cpp
saltedhasher.h
scheduler.cpp
scheduler.h merge bitcoin#25109: Strengthen AssertLockNotHeld assertions 2024-05-09 08:52:48 +00:00
serialize.h
shutdown.cpp Merge bitcoin/bitcoin#25053: Guard #include <config/bitcoin-config.h> 2024-06-06 22:58:31 -05:00
shutdown.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
source_location.h
span.h
spentindex.h refactor: define all key/value pairings as *Entry and use them instead 2024-06-28 08:14:30 +00:00
spork.cpp feat: harden all sporks on mainnet to current values 2024-07-22 09:23:20 -05:00
spork.h spork: replace LOCKS_EXCLUDED with negative EXCLUSIVE_LOCKS_REQUIRED 2024-04-30 11:47:07 +00:00
stacktraces.cpp
stacktraces.h
statsd_client.cpp refactor: replace multiple C-style casts to reinterpret_cast 2024-03-06 03:31:46 +07:00
statsd_client.h refactor: add more consts everywhere as required by cppcheck 2.13.0 2024-03-06 03:31:48 +07:00
streams.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
sync.cpp Merge bitcoin/bitcoin#22904: sync, log: inline lock contention logging macro to fix duration, improve BCLog::LogMsg() 2024-06-04 12:51:04 -05:00
sync.h Merge bitcoin/bitcoin#22904: sync, log: inline lock contention logging macro to fix duration, improve BCLog::LogMsg() 2024-06-04 12:51:04 -05:00
threadinterrupt.cpp
threadinterrupt.h merge bitcoin#25109: Strengthen AssertLockNotHeld assertions 2024-05-09 08:52:48 +00:00
threadsafety.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
timedata.cpp partial bitcoin#20196: fix GetListenPort() to derive the proper port 2024-04-26 20:25:31 +00:00
timedata.h partial bitcoin#20196: fix GetListenPort() to derive the proper port 2024-04-26 20:25:31 +00:00
timestampindex.h
tinyformat.h merge bitcoin#21430: Add -Werror=implicit-fallthrough compile flag 2024-06-25 13:39:56 +00:00
torcontrol.cpp merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
torcontrol.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
txdb.cpp merge bitcoin#24197: Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts() 2024-07-23 17:46:00 +00:00
txdb.h merge bitcoin#24197: Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts() 2024-07-23 17:46:00 +00:00
txmempool.cpp Merge #6083: refactor: move Get*Index to rpc/index_util.cpp, const-ify functions and arguments, add lock annotations and some minor housekeeping 2024-06-29 14:48:46 -05:00
txmempool.h refactor: move pair value swapping out of CTxMemPool::getAddressIndex() 2024-06-28 08:14:30 +00:00
uint256.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
uint256.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
undo.h
unordered_lru_cache.h
validation.cpp merge bitcoin#21850: Remove GetDataDir(net_specific) function 2024-07-23 17:45:24 +00:00
validation.h fix: follow-up bitcoin#15402 - removed dead code 2024-07-24 20:06:12 +07:00
validationinterface.cpp merge bitcoin#25109: Strengthen AssertLockNotHeld assertions 2024-05-09 08:52:48 +00:00
validationinterface.h refactor: move GetListAtChainTip() calls out of CGovernanceVote 2024-03-19 15:20:59 +00:00
version.h feat: bump protocol version to distinguish v21 from v20.1 2024-06-25 09:19:50 -05:00
versionbits.cpp Merge #21377: Speedy trial support for versionbits 2024-04-23 22:41:10 +07:00
versionbits.h merge bitcoin#25109: Strengthen AssertLockNotHeld assertions 2024-05-09 08:52:48 +00:00
walletinitinterface.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
warnings.cpp Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00
warnings.h Merge #20813: scripted-diff: Bump copyright headers 2024-04-10 03:19:34 +07:00