HomePhabricator

Require no cs_main lock for ProcessNewBlock/ActivateBestChain

Description

Require no cs_main lock for ProcessNewBlock/ActivateBestChain

Summary:
This requires the removal of some very liberal (incorrect) cs_mains
sprinkled in some tests. It adds some chainActive.Tip() races, but
the tests are all single-threaded anyway.

Depends on D2607, D2617 and D2631

Partial backport of core PR11824 (commit a99b76f)

Test Plan:

make check

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Subscribers: jasonbcox, teamcity, schancel

Differential Revision: https://reviews.bitcoinabc.org/D2608

Details

Provenance
Matt Corallo <git@bluematt.me>Authored on Dec 4 2017, 23:25
FabienCommitted on Feb 28 2019, 18:49
jasonbcoxPushed on Mar 1 2019, 00:55
Reviewer
Restricted Project
Differential Revision
D2608: Require no cs_main lock for ProcessNewBlock/ActivateBestChain
Parents
rSTAGINGdf1b1e41c632: Avoid cs_main in net_processing ActivateBestChain calls
Branches
Unknown
Tags
Unknown