9899893 Move wallet callbacks into cs_main (this effectively reverts #7946) (Matt Corallo)
This commit is contained in:
parent
6bc16a66fb
commit
9ba8a31d03
@ -2900,20 +2900,19 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
|
|||||||
pindexNewTip = chainActive.Tip();
|
pindexNewTip = chainActive.Tip();
|
||||||
pindexFork = chainActive.FindFork(pindexOldTip);
|
pindexFork = chainActive.FindFork(pindexOldTip);
|
||||||
fInitialDownload = IsInitialBlockDownload();
|
fInitialDownload = IsInitialBlockDownload();
|
||||||
|
|
||||||
|
// throw all transactions though the signal-interface
|
||||||
|
for (const auto& pair : connectTrace.blocksConnected) {
|
||||||
|
assert(pair.second);
|
||||||
|
const CBlock& block = *(pair.second);
|
||||||
|
for (unsigned int i = 0; i < block.vtx.size(); i++)
|
||||||
|
GetMainSignals().SyncTransaction(*block.vtx[i], pair.first, i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// When we reach this point, we switched to a new tip (stored in pindexNewTip).
|
// When we reach this point, we switched to a new tip (stored in pindexNewTip).
|
||||||
|
|
||||||
// Notifications/callbacks that can run without cs_main
|
// Notifications/callbacks that can run without cs_main
|
||||||
|
|
||||||
// throw all transactions though the signal-interface
|
|
||||||
// while _not_ holding the cs_main lock
|
|
||||||
for (const auto& pair : connectTrace.blocksConnected) {
|
|
||||||
assert(pair.second);
|
|
||||||
const CBlock& block = *(pair.second);
|
|
||||||
for (unsigned int i = 0; i < block.vtx.size(); i++)
|
|
||||||
GetMainSignals().SyncTransaction(*block.vtx[i], pair.first, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Notify external listeners about the new tip.
|
// Notify external listeners about the new tip.
|
||||||
GetMainSignals().UpdatedBlockTip(pindexNewTip, pindexFork, fInitialDownload);
|
GetMainSignals().UpdatedBlockTip(pindexNewTip, pindexFork, fInitialDownload);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user