mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 22:18:54 +01:00
refactor: De-globalize g_signals
This commit is contained in:
@@ -74,10 +74,12 @@ int main(int argc, char* argv[])
|
||||
// Start the lightweight task scheduler thread
|
||||
scheduler.m_service_thread = std::thread(util::TraceThread, "scheduler", [&] { scheduler.serviceQueue(); });
|
||||
|
||||
CMainSignals validation_signals{};
|
||||
|
||||
// Gather some entropy once per minute.
|
||||
scheduler.scheduleEvery(RandAddPeriodic, std::chrono::minutes{1});
|
||||
|
||||
GetMainSignals().RegisterBackgroundSignalScheduler(scheduler);
|
||||
validation_signals.RegisterBackgroundSignalScheduler(scheduler);
|
||||
|
||||
class KernelNotifications : public kernel::Notifications
|
||||
{
|
||||
@@ -118,7 +120,7 @@ int main(int argc, char* argv[])
|
||||
.chainparams = *chainparams,
|
||||
.datadir = abs_datadir,
|
||||
.notifications = *notifications,
|
||||
.signals = &GetMainSignals(),
|
||||
.signals = &validation_signals,
|
||||
};
|
||||
const node::BlockManager::Options blockman_opts{
|
||||
.chainparams = chainman_opts.chainparams,
|
||||
@@ -236,9 +238,9 @@ int main(int argc, char* argv[])
|
||||
|
||||
bool new_block;
|
||||
auto sc = std::make_shared<submitblock_StateCatcher>(block.GetHash());
|
||||
RegisterSharedValidationInterface(sc);
|
||||
validation_signals.RegisterSharedValidationInterface(sc);
|
||||
bool accepted = chainman.ProcessNewBlock(blockptr, /*force_processing=*/true, /*min_pow_checked=*/true, /*new_block=*/&new_block);
|
||||
UnregisterSharedValidationInterface(sc);
|
||||
validation_signals.UnregisterSharedValidationInterface(sc);
|
||||
if (!new_block && accepted) {
|
||||
std::cerr << "duplicate" << std::endl;
|
||||
break;
|
||||
@@ -291,7 +293,7 @@ epilogue:
|
||||
scheduler.stop();
|
||||
if (chainman.m_thread_load.joinable()) chainman.m_thread_load.join();
|
||||
|
||||
GetMainSignals().FlushBackgroundCallbacks();
|
||||
validation_signals.FlushBackgroundCallbacks();
|
||||
{
|
||||
LOCK(cs_main);
|
||||
for (Chainstate* chainstate : chainman.GetAll()) {
|
||||
@@ -301,5 +303,5 @@ epilogue:
|
||||
}
|
||||
}
|
||||
}
|
||||
GetMainSignals().UnregisterBackgroundSignalScheduler();
|
||||
validation_signals.UnregisterBackgroundSignalScheduler();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user