mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-10 22:58:40 +02:00
Merge #12206: qa: Sync with validationinterface queue in sync_mempools
fa1e69eqa: Sync with validationinterface queue in sync_mempools (MarcoFalke) Pull request description: Commite545dedf72moved `TransactionAddedToMempool` to the background scheduler thread. Thus, adding a transaction to the mempool will no longer add it to the wallet immediately. Functional tests, that `sync_mempools` and then call into wallet rpcs will race against the scheduler thread. Fix that race by flushing the scheduler queue. Fixes #12205; Fixes #12171; References #9584; Tree-SHA512: 14d99cff9c4756de9fad412f04e6d8e25bb9a0938f24ed8348de79df5b4ee67763dac5214b1a69e77e60787d81ee642976d1482b1b5637edfc4892a238ed22af
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include <util.h>
|
||||
#include <utilstrencodings.h>
|
||||
#include <hash.h>
|
||||
#include <validationinterface.h>
|
||||
#include <warnings.h>
|
||||
|
||||
#include <stdint.h>
|
||||
@@ -323,6 +324,21 @@ UniValue waitforblockheight(const JSONRPCRequest& request)
|
||||
return ret;
|
||||
}
|
||||
|
||||
UniValue syncwithvalidationinterfacequeue(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() > 0) {
|
||||
throw std::runtime_error(
|
||||
"syncwithvalidationinterfacequeue\n"
|
||||
"\nWaits for the validation interface queue to catch up on everything that was there when we entered this function.\n"
|
||||
"\nExamples:\n"
|
||||
+ HelpExampleCli("syncwithvalidationinterfacequeue","")
|
||||
+ HelpExampleRpc("syncwithvalidationinterfacequeue","")
|
||||
);
|
||||
}
|
||||
SyncWithValidationInterfaceQueue();
|
||||
return NullUniValue;
|
||||
}
|
||||
|
||||
UniValue getdifficulty(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() != 0)
|
||||
@@ -1628,6 +1644,7 @@ static const CRPCCommand commands[] =
|
||||
{ "hidden", "waitfornewblock", &waitfornewblock, {"timeout"} },
|
||||
{ "hidden", "waitforblock", &waitforblock, {"blockhash","timeout"} },
|
||||
{ "hidden", "waitforblockheight", &waitforblockheight, {"height","timeout"} },
|
||||
{ "hidden", "syncwithvalidationinterfacequeue", &syncwithvalidationinterfacequeue, {} },
|
||||
};
|
||||
|
||||
void RegisterBlockchainRPCCommands(CRPCTable &t)
|
||||
|
||||
Reference in New Issue
Block a user