mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Give CMainSignals a reference to the global scheduler
...so that it can run some signals in the background later
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include "validationinterface.h"
|
||||
#include "init.h"
|
||||
#include "scheduler.h"
|
||||
|
||||
#include <boost/signals2/signal.hpp>
|
||||
|
||||
@@ -17,6 +19,8 @@ struct MainSignalsInstance {
|
||||
boost::signals2::signal<void (int64_t nBestBlockTime, CConnman* connman)> Broadcast;
|
||||
boost::signals2::signal<void (const CBlock&, const CValidationState&)> BlockChecked;
|
||||
boost::signals2::signal<void (const CBlockIndex *, const std::shared_ptr<const CBlock>&)> NewPoWValidBlock;
|
||||
|
||||
CScheduler *m_scheduler = NULL;
|
||||
};
|
||||
|
||||
static CMainSignals g_signals;
|
||||
@@ -25,6 +29,15 @@ CMainSignals::CMainSignals() {
|
||||
m_internals.reset(new MainSignalsInstance());
|
||||
}
|
||||
|
||||
void CMainSignals::RegisterBackgroundSignalScheduler(CScheduler& scheduler) {
|
||||
assert(!m_internals->m_scheduler);
|
||||
m_internals->m_scheduler = &scheduler;
|
||||
}
|
||||
|
||||
void CMainSignals::UnregisterBackgroundSignalScheduler() {
|
||||
m_internals->m_scheduler = NULL;
|
||||
}
|
||||
|
||||
CMainSignals& GetMainSignals()
|
||||
{
|
||||
return g_signals;
|
||||
|
||||
Reference in New Issue
Block a user