Changeset View
Changeset View
Standalone View
Standalone View
src/init.cpp
Show First 20 Lines • Show All 2,206 Lines • ▼ Show 20 Lines | if (script_threads >= 1) { | ||||
threadGroup.create_thread([i]() { return ThreadScriptCheck(i); }); | threadGroup.create_thread([i]() { return ThreadScriptCheck(i); }); | ||||
} | } | ||||
} | } | ||||
assert(!node.scheduler); | assert(!node.scheduler); | ||||
node.scheduler = std::make_unique<CScheduler>(); | node.scheduler = std::make_unique<CScheduler>(); | ||||
// Start the lightweight task scheduler thread | // Start the lightweight task scheduler thread | ||||
CScheduler::Function serviceLoop = [&node] { | threadGroup.create_thread([&] { | ||||
node.scheduler->serviceQueue(); | TraceThread("scheduler", [&] { node.scheduler->serviceQueue(); }); | ||||
}; | }); | ||||
threadGroup.create_thread(std::bind(&TraceThread<CScheduler::Function>, | |||||
"scheduler", serviceLoop)); | |||||
// Gather some entropy once per minute. | // Gather some entropy once per minute. | ||||
node.scheduler->scheduleEvery( | node.scheduler->scheduleEvery( | ||||
[] { | [] { | ||||
RandAddPeriodic(); | RandAddPeriodic(); | ||||
return true; | return true; | ||||
}, | }, | ||||
std::chrono::minutes{1}); | std::chrono::minutes{1}); | ||||
▲ Show 20 Lines • Show All 805 Lines • Show Last 20 Lines |