From a502bc8ff9e02f83a8481a03c7ea51253b9d4e05 Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Wed, 5 Jun 2019 14:33:24 +0200 Subject: [PATCH] Move MainchainRPCCheck to its own schedule, fix resolution --- src/init.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index da5af353a6..f0bbe1abd1 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -179,6 +179,7 @@ static std::unique_ptr globalVerifyHandle; static boost::thread_group threadGroup; static CScheduler scheduler; +static CScheduler reverification_scheduler; void Interrupt() { @@ -1960,10 +1961,14 @@ bool AppInitMain(InitInterfaces& interfaces) + strprintf(_("If you haven't setup a %s please get the latest stable version from %s or if you do not need to validate pegins set in your elements configuration %s"), "bitcoind", "https://bitcoincore.org/en/download/", "validatepegin=0")); } + // Start the lightweight block re-evaluation scheduler thread + CScheduler::Function reevaluationLoop = std::bind(&CScheduler::serviceQueue, &reverification_scheduler); + threadGroup.create_thread(std::bind(&TraceThread, "reevaluation_scheduler", reevaluationLoop)); + CScheduler::Function f2 = boost::bind(&MainchainRPCCheck, false); - unsigned int check_rpc_every = gArgs.GetArg("-recheckpeginblockinterval", 120); + unsigned int check_rpc_every = gArgs.GetArg("-recheckpeginblockinterval", 120) * 1000; if (check_rpc_every) { - scheduler.scheduleEvery(f2, check_rpc_every); + reverification_scheduler.scheduleEvery(f2, check_rpc_every); } uiInterface.InitMessage(_("Done loading"));