Page MenuHomePhabricator

Move all g_cs_orphans locking to txorphanage
ClosedPublic

Authored by Fabien on May 28 2024, 13:58.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABCb7e5c1f297f1: Move all g_cs_orphans locking to txorphanage
Summary
Test Plan

With Clang and Debug:

ninja all check-all

Run the TSAN build.

Diff Detail

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

Event Timeline

Fabien requested review of this revision.May 28 2024, 13:58
src/net_processing.cpp
6961 ↗(On Diff #47990)

It would be more elegant to use

const bool has_more_orphans = WITH_LOCK(cs_main, return ProcessOrphanTx(config, *peer));

but this breaks thread safety analysis because the function needs 2 locks and the lambda is only annotated with a single one.

This revision is now accepted and ready to land.May 28 2024, 16:03
This revision was landed with ongoing or failed builds.May 29 2024, 09:29
This revision was automatically updated to reflect the committed changes.