This PR is related to #19303 and gets rid of the RecursiveMutex m_most_recent_block_mutex
. All of the critical sections (5 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:
The scope of the last critical section is reduced in the first commit, in order to avoid calling the non-trivial method CConnman::PushMessage
while the lock is held.