diff options
author | Carl Dong <contact@carldong.me> | 2022-05-25 14:31:54 -0400 |
---|---|---|
committer | Carl Dong <contact@carldong.me> | 2022-06-02 11:40:03 -0400 |
commit | fed085a1a4cd2787202752b6a0d98e42dce97f09 (patch) | |
tree | f5f85da84e9aee2a1e7fd6ac52edf70dfa90fcbd /src/bitcoind.cpp | |
parent | 7d03feef8156ef37a4efa01dc591467bc7d957bf (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.cpp | 3 |
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"); |