aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoind.cpp
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2022-05-25 14:31:54 -0400
committerCarl Dong <contact@carldong.me>2022-06-02 11:40:03 -0400
commitfed085a1a4cd2787202752b6a0d98e42dce97f09 (patch)
treef5f85da84e9aee2a1e7fd6ac52edf70dfa90fcbd /src/bitcoind.cpp
parent7d03feef8156ef37a4efa01dc591467bc7d957bf (diff)
init: Initialize globals with kernel::Context's life
...instead of explicitly calling init::{Set,Unset}Globals. Cool thing about this is that in both the testing and bitcoin-chainstate codepaths, we no longer need to explicitly unset globals. The kernel::Context goes out of scope and the globals are unset "automatically". Also construct kernel::Context outside of AppInitSanityChecks()
Diffstat (limited to 'src/bitcoind.cpp')
-rw-r--r--src/bitcoind.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp
index bc063faed1..0cf9ad49dc 100644
--- a/src/bitcoind.cpp
+++ b/src/bitcoind.cpp
@@ -188,11 +188,14 @@ static bool AppInit(NodeContext& node, int argc, char* argv[])
// InitError will have been called with detailed error, which ends up on console
return false;
}
+
+ node.kernel = std::make_unique<kernel::Context>();
if (!AppInitSanityChecks())
{
// InitError will have been called with detailed error, which ends up on console
return false;
}
+
if (args.GetBoolArg("-daemon", DEFAULT_DAEMON) || args.GetBoolArg("-daemonwait", DEFAULT_DAEMONWAIT)) {
#if HAVE_DECL_FORK
tfm::format(std::cout, PACKAGE_NAME " starting\n");