Page MenuHomePhabricator

Guard vRecvGetData (now in net processing) with its own mutex
ClosedPublic

Authored by PiRK on Wed, Nov 24, 17:19.

Details

Summary

This requires slightly reorganizing the logic in GETBLOCKTXN to
maintain locking order.

This is a backport of core#19911 [5/6]
https://github.com/bitcoin/bitcoin/pull/19911/commits/ba951812ec0cc8ebee5911a582f188525b76ff0a

see D10187 for the removal of the !cs_main negative lock

Depends on D10529

Test Plan
cmake .. -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DENABLE_SANITIZERS=thread
ninja && ninja check check-functional

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Wed, Nov 24, 17:19
Fabien requested changes to this revision.Thu, Nov 25, 11:04
Fabien added a subscriber: Fabien.

Same as D10528, the test plan doesn't test for the changes

This revision now requires changes to proceed.Thu, Nov 25, 11:04
PiRK requested review of this revision.Thu, Nov 25, 13:05
PiRK edited the test plan for this revision. (Show Details)

@bot build-tsan

This revision is now accepted and ready to land.Thu, Nov 25, 15:14