0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-05 10:17:30 -05:00
bitcoin-bitcoin-core/src
MarcoFalke 427e9c9435
Merge bitcoin/bitcoin#24069: refactor: replace RecursiveMutex m_cs_callbacks_pending with Mutex (and rename)
5574e6ed52 refactor: replace RecursiveMutex `m_callbacks_mutex` with Mutex (Sebastian Falbesoner)
3aa258109e scripted-diff: rename `m_cs_callbacks_pending` -> `m_callbacks_mutex` (Sebastian Falbesoner)

Pull request description:

  This PR is related to #19303 and gets rid of the RecursiveMutex `m_cs_callbacks_pending`. All of the critical sections (6 in total) only directly access the guarded elements, i.e. it is not possible that within one section another one is called, and we can use a regular Mutex:

  807169e10b/src/scheduler.cpp (L138-L145)

  807169e10b/src/scheduler.cpp (L152-L160)

  807169e10b/src/scheduler.cpp (L169-L172)

  807169e10b/src/scheduler.cpp (L184-L187)

  807169e10b/src/scheduler.cpp (L197-L199)

  807169e10b/src/scheduler.cpp (L203-L206)

  Also, it is renamed to adapt to the (unwritten) naming convention to use the `_mutex` suffix rather than the `cs_` prefix.

ACKs for top commit:
  hebasto:
    ACK 5574e6ed52, I have reviewed the code and it looks OK, I agree it can be merged.
  w0xlt:
    crACK 5574e6e

Tree-SHA512: ba4b151d956582f4c7183a1d51702b269158fc5e2902c51e6a242aaeb1c72cfcdf398f9ffa42e3072f5aba21a8c493086a5fe7c450c271322da69bd54c37ed1f
2022-01-17 08:53:48 +01:00
..
bench Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
common Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
compat scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
config
consensus scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
crc32c Update crc32c subtree 2021-09-29 14:10:29 +02:00
crypto scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
index Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
init Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
interfaces Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
ipc refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
leveldb
logging scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
minisketch Merge commit 'b6487dc4ef47ec9ea894eceac25f37d0b806f8aa' as 'src/minisketch' 2021-10-21 09:36:07 +08:00
node Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
policy scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
primitives scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
qt Merge bitcoin-core/gui#517: refactor, qt: Use std::chrono for parameters of QTimer methods 2022-01-12 14:59:24 +02:00
rpc Merge bitcoin/bitcoin#23974: Make blockstorage globals private members of BlockManager 2022-01-07 11:14:16 +08:00
script rpc: Quote user supplied descriptor in error msg 2022-01-01 00:26:08 +13:00
secp256k1 Update secp256k1 subtree to latest upstream master 2021-12-15 09:19:50 -05:00
support scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
test Merge bitcoin/bitcoin#23992: fuzz: Limit fuzzed time to years 2000-2100 2022-01-17 08:43:16 +01:00
univalue Update univalue subtree to latest upstream 2021-10-11 20:45:56 +08:00
util util: Restore GetIntArg saturating behavior 2022-01-11 19:54:36 -05:00
wallet Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
zmq Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
.clang-format Use c++17 in clang-format 2021-11-12 11:46:34 +01:00
.clang-tidy
addrdb.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
addrdb.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
addrman.cpp Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage 2022-01-04 23:08:11 +08:00
addrman.h Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage 2022-01-04 23:08:11 +08:00
addrman_impl.h test: Remove unused AddrManTest class 2021-12-28 21:54:51 +01:00
arith_uint256.cpp Fix implicit-integer-sign-change in arith_uint256 2022-01-13 15:56:59 +01:00
arith_uint256.h
attributes.h
banman.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
banman.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
base58.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
base58.h
bech32.cpp Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
bech32.h Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
bitcoin-cli-res.rc
bitcoin-cli.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge bitcoin/bitcoin#23784: bitcoin-tx: Require that input amount is provided for witness transactions 2022-01-05 17:48:55 +01:00
bitcoin-util-res.rc
bitcoin-util.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
bitcoind-res.rc
bitcoind.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
blockencodings.cpp
blockencodings.h
blockfilter.cpp scripted-diff: rename MapIntoRange to FastRange64 2022-01-06 11:29:55 -05:00
blockfilter.h
chain.cpp Move CBlockFileInfo::ToString method where class is declared 2022-01-06 22:14:16 -05:00
chain.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparams.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparams.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.h
chainparamsseeds.h
checkqueue.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
clientversion.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
clientversion.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
coins.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
coins.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compat.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compressor.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compressor.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_io.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_memusage.h
core_read.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_write.cpp Merge bitcoin/bitcoin#23320: rpc: Add RPC help for getblock verbosity level 3 2022-01-04 15:35:42 +01:00
cuckoocache.h Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
dbwrapper.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
dbwrapper.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentinfo.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentinfo.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentstatus.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentstatus.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
dummywallet.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
external_signer.cpp
external_signer.h
flatfile.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
flatfile.h
fs.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
fs.h refactor: Block unsafe std::string fs::path conversion copy_file calls 2022-01-10 23:48:23 +02:00
hash.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
hash.h
httprpc.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httprpc.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httpserver.cpp Merge bitcoin/bitcoin#23607: rpc: Pass const char* to evhttp_connection_get_peer for new libevent 2022-01-13 18:35:25 +01:00
httpserver.h
i2p.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
i2p.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
indirectmap.h
init.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
init.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
key.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key_io.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key_io.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
Makefile.am [moveonly] Move MapIntoRange() to separate util/fastrange.h 2022-01-06 11:27:06 -05:00
Makefile.bench.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.crc32c.include build: remove support for weak linking getauxval() 2021-09-24 15:40:04 +08:00
Makefile.leveldb.include build: remove build stubs for external leveldb 2021-10-15 01:02:45 +00:00
Makefile.minisketch.include build: add minisketch build file and include it 2021-10-21 09:37:30 +08:00
Makefile.qt.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.qt_locale.include
Makefile.qttest.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test_fuzz.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test_util.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.univalue.include Integrate univalue into our buildsystem 2021-10-11 20:46:25 +08:00
mapport.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net.cpp scripted-diff: rename cs_SubVer -> m_subver_mutex 2022-01-16 16:47:11 +01:00
net.h refactor: replace RecursiveMutex m_subver_mutex with Mutex 2022-01-16 16:49:13 +01:00
net_permissions.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_permissions.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_processing.cpp scripted-diff: rename cs_SubVer -> m_subver_mutex 2022-01-16 16:47:11 +01:00
net_processing.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_types.cpp net: Drop only invalid entries when reading banlist.json 2021-12-14 18:58:45 +01:00
net_types.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netaddress.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netaddress.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netbase.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netbase.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netmessagemaker.h
noui.cpp
noui.h
outputtype.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
outputtype.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pow.cpp
pow.h
prevector.h
protocol.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
protocol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
psbt.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
psbt.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pubkey.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pubkey.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
random.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
random.h
randomenv.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
randomenv.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rest.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
reverse_iterator.h
scheduler.cpp scripted-diff: rename m_cs_callbacks_pending -> m_callbacks_mutex 2022-01-14 13:25:23 +01:00
scheduler.h refactor: replace RecursiveMutex m_callbacks_mutex with Mutex 2022-01-14 13:27:41 +01:00
serialize.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
shutdown.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
shutdown.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
span.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
streams.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sync.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sync.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
threadinterrupt.cpp
threadinterrupt.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
threadsafety.h
timedata.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
timedata.h
tinyformat.h
torcontrol.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
torcontrol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txdb.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txdb.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txmempool.cpp Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg 2022-01-03 14:34:39 +01:00
txmempool.h Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg 2022-01-03 14:34:39 +01:00
txorphanage.cpp
txorphanage.h
txrequest.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txrequest.h
uint256.cpp
uint256.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
undo.h
validation.cpp Merge bitcoin/bitcoin#24033: log: Remove GetAdjustedTime from IBD header progress estimation 2022-01-17 08:46:47 +01:00
validation.h Remove cs_main lock annotation from ChainstateManager.m_blockman 2022-01-11 05:11:00 -05:00
validationinterface.cpp
validationinterface.h
version.h
versionbits.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
versionbits.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
walletinitinterface.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
warnings.cpp
warnings.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00