mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
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()
This commit is contained in:
@@ -7,12 +7,10 @@
|
||||
#endif
|
||||
|
||||
#include <clientversion.h>
|
||||
#include <crypto/sha256.h>
|
||||
#include <fs.h>
|
||||
#include <key.h>
|
||||
#include <logging.h>
|
||||
#include <node/ui_interface.h>
|
||||
#include <pubkey.h>
|
||||
#include <random.h>
|
||||
#include <tinyformat.h>
|
||||
#include <util/system.h>
|
||||
@@ -20,28 +18,10 @@
|
||||
#include <util/translation.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
static std::unique_ptr<ECCVerifyHandle> globalVerifyHandle;
|
||||
|
||||
namespace init {
|
||||
void SetGlobals()
|
||||
{
|
||||
std::string sha256_algo = SHA256AutoDetect();
|
||||
LogPrintf("Using the '%s' SHA256 implementation\n", sha256_algo);
|
||||
RandomInit();
|
||||
ECC_Start();
|
||||
globalVerifyHandle.reset(new ECCVerifyHandle());
|
||||
}
|
||||
|
||||
void UnsetGlobals()
|
||||
{
|
||||
globalVerifyHandle.reset();
|
||||
ECC_Stop();
|
||||
}
|
||||
|
||||
bool SanityChecks()
|
||||
{
|
||||
if (!ECC_InitSanityCheck()) {
|
||||
|
||||
Reference in New Issue
Block a user