> net: add NetEventsInterface::g_msgproc_mutex
>
> There are many cases where we assume message processing is
> single-threaded in order for how we access node-related memory to be
> safe. Add an explicit mutex that we can use to document this, which allows
> the compiler to catch any cases where we try to access that memory from
> other threads and break that assumption.
https://github.com/bitcoin/bitcoin/pull/26036/commits/1e78f566d575a047a6f0b762bc79601e0208d103
> net: drop cs_sendProcessing
>
> SendMessages() is now protected g_msgproc_mutex; so this additional
> per-node mutex is redundant.
https://github.com/bitcoin/bitcoin/pull/26036/commits/bf12abe4542f2cf658516ea7e7fbbff6864c2208
> net_processing: add thread safety annotations for Peer members accessed only via the msgproc thread
https://github.com/bitcoin/bitcoin/pull/26036/commits/a66a7ccb822f0f1f554d27d04735b7fb585d3b71
https://github.com/bitcoin/bitcoin/pull/26036/commits/0ae7987f68211729d87c9255889f4d9d1aa6a37f
This is a partial backport of core#26036
Review notes:
- we don't yet call `SendMessages` yet in the `process_message.cpp` and `process_messages.cpp` fuzzers in our codebase, but I decided to add the lock anyway because it is likely that it will be missed when we eventually backport the code that requires the lock
- `m_addr_token_bucket` is accessed from multiple threads and has its own lock in our codebase: D11035