HomePhabricator

Also call other wallet notify callbacks in scheduler thread

Description

Also call other wallet notify callbacks in scheduler thread

Summary:
This runs Block{Connected,Disconnected}, SetBestChain, Inventory,
and TransactionAddedToMempool on the background scheduler thread.

Of those, only BlockConnected is used outside of Wallet/ZMQ, and
is used only for orphan transaction removal in net_processing,
something which does not need to be synchronous with anything
else.

This partially reverts #9583, re-enabling some of the gains from
#7946. This does not, however, re-enable the gains achieved by
repeatedly releasing cs_main between each transaction processed.

This is a partial backport of Core PR10286 : https://github.com/bitcoin/bitcoin/pull/10286/commits/e545dedf72bff2bd41c93c93eb576929fce37112

Depends on D3154

Test Plan:

make check
./test/functional/test_runner.py

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: markblundeberg

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

Details

Provenance
Matt Corallo <git@bluematt.me>Authored on Jun 8 2017, 15:08
deadalnixCommitted on Jun 1 2019, 14:25
deadalnixPushed on Jun 1 2019, 14:25
Reviewer
Restricted Project
Differential Revision
D3156: Also call other wallet notify callbacks in scheduler thread
Parents
rABCbeff1514684c: Merge #14374: qt: Add "Blocksdir" to Debug window
Branches
Unknown
Tags
Unknown