mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-20 14:05:23 +01:00
init: Capture copy of blocknotify setting for BlockNotifyCallback
Can be reviewed with --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space
This commit is contained in:
parent
fa40017706
commit
fa33bc2dab
1 changed files with 14 additions and 16 deletions
30
src/init.cpp
30
src/init.cpp
|
@ -600,21 +600,6 @@ std::string LicenseInfo()
|
|||
"\n";
|
||||
}
|
||||
|
||||
#if HAVE_SYSTEM
|
||||
static void BlockNotifyCallback(SynchronizationState sync_state, const CBlockIndex* pBlockIndex)
|
||||
{
|
||||
if (sync_state != SynchronizationState::POST_INIT || !pBlockIndex)
|
||||
return;
|
||||
|
||||
std::string strCmd = gArgs.GetArg("-blocknotify", "");
|
||||
if (!strCmd.empty()) {
|
||||
boost::replace_all(strCmd, "%s", pBlockIndex->GetBlockHash().GetHex());
|
||||
std::thread t(runCommand, strCmd);
|
||||
t.detach(); // thread runs free
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static bool fHaveGenesis = false;
|
||||
static Mutex g_genesis_wait_mutex;
|
||||
static std::condition_variable g_genesis_wait_cv;
|
||||
|
@ -1847,8 +1832,21 @@ bool AppInitMain(const util::Ref& context, NodeContext& node, interfaces::BlockA
|
|||
}
|
||||
|
||||
#if HAVE_SYSTEM
|
||||
if (gArgs.IsArgSet("-blocknotify"))
|
||||
if (args.IsArgSet("-blocknotify")) {
|
||||
const std::string block_notify = args.GetArg("-blocknotify", "");
|
||||
const auto BlockNotifyCallback = [block_notify](SynchronizationState sync_state, const CBlockIndex* pBlockIndex) {
|
||||
if (sync_state != SynchronizationState::POST_INIT || !pBlockIndex)
|
||||
return;
|
||||
|
||||
std::string strCmd = block_notify;
|
||||
if (!strCmd.empty()) {
|
||||
boost::replace_all(strCmd, "%s", pBlockIndex->GetBlockHash().GetHex());
|
||||
std::thread t(runCommand, strCmd);
|
||||
t.detach(); // thread runs free
|
||||
}
|
||||
};
|
||||
uiInterface.NotifyBlockTip_connect(BlockNotifyCallback);
|
||||
}
|
||||
#endif
|
||||
|
||||
std::vector<fs::path> vImportFiles;
|
||||
|
|
Loading…
Add table
Reference in a new issue