Page MenuHomePhabricator

Use LockAssertion utility class instead of AssertLockHeld()
ClosedPublic

Authored by PiRK on Sep 20 2021, 10:24.

Details

Summary

This change prepares for upcoming commit "Do not hide compile-time
thread safety warnings" by replacing AssertLockHeld() with
LockAssertion() where needed.

This is a backport of core#19668 [1/5]
https://github.com/bitcoin/bitcoin/pull/19668/commits/af9ea55a72c94678b343f5dd98dc78f3a3ac58cb

Backport notse:

  • We do not have a lock in RelayTransaction because we did not backport core#18044 (commit ac88e2eb619821ad7ae1d45d4b40be69051d3999)
  • This change is partially reverted in D10172 after D10171 makes it possible to annotate the lambda functions with EXCLUSIVE_LOCKS_REQUIRED
Test Plan

With TSAN:
ninja check check-functional

Event Timeline

PiRK requested review of this revision.Sep 20 2021, 10:24
This revision is now accepted and ready to land.Sep 22 2021, 07:00