mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
Move common global init code to init/common
This commit is contained in:
parent
13d27b452d
commit
a67b54855b
4 changed files with 51 additions and 11 deletions
|
@ -156,6 +156,7 @@ BITCOIN_CORE_H = \
|
|||
index/txindex.h \
|
||||
indirectmap.h \
|
||||
init.h \
|
||||
init/common.h \
|
||||
interfaces/chain.h \
|
||||
interfaces/handler.h \
|
||||
interfaces/node.h \
|
||||
|
@ -520,6 +521,7 @@ libbitcoin_common_a_SOURCES = \
|
|||
core_read.cpp \
|
||||
core_write.cpp \
|
||||
external_signer.cpp \
|
||||
init/common.cpp \
|
||||
key.cpp \
|
||||
key_io.cpp \
|
||||
merkleblock.cpp \
|
||||
|
|
14
src/init.cpp
14
src/init.cpp
|
@ -22,9 +22,9 @@
|
|||
#include <httpserver.h>
|
||||
#include <index/blockfilterindex.h>
|
||||
#include <index/txindex.h>
|
||||
#include <init/common.h>
|
||||
#include <interfaces/chain.h>
|
||||
#include <interfaces/node.h>
|
||||
#include <key.h>
|
||||
#include <mapport.h>
|
||||
#include <miner.h>
|
||||
#include <net.h>
|
||||
|
@ -151,8 +151,6 @@ static fs::path GetPidFile(const ArgsManager& args)
|
|||
// shutdown thing.
|
||||
//
|
||||
|
||||
static std::unique_ptr<ECCVerifyHandle> globalVerifyHandle;
|
||||
|
||||
void Interrupt(NodeContext& node)
|
||||
{
|
||||
InterruptHTTPServer();
|
||||
|
@ -286,8 +284,7 @@ void Shutdown(NodeContext& node)
|
|||
node.chain_clients.clear();
|
||||
UnregisterAllValidationInterfaces();
|
||||
GetMainSignals().UnregisterBackgroundSignalScheduler();
|
||||
globalVerifyHandle.reset();
|
||||
ECC_Stop();
|
||||
init::UnsetGlobals();
|
||||
node.mempool.reset();
|
||||
node.fee_estimator.reset();
|
||||
node.chainman = nullptr;
|
||||
|
@ -1148,12 +1145,7 @@ bool AppInitSanityChecks()
|
|||
{
|
||||
// ********************************************************* Step 4: sanity checks
|
||||
|
||||
// Initialize elliptic curve code
|
||||
std::string sha256_algo = SHA256AutoDetect();
|
||||
LogPrintf("Using the '%s' SHA256 implementation\n", sha256_algo);
|
||||
RandomInit();
|
||||
ECC_Start();
|
||||
globalVerifyHandle.reset(new ECCVerifyHandle());
|
||||
init::SetGlobals();
|
||||
|
||||
// Sanity check
|
||||
if (!InitSanityCheck())
|
||||
|
|
30
src/init/common.cpp
Normal file
30
src/init/common.cpp
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Copyright (c) 2021 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <crypto/sha256.h>
|
||||
#include <key.h>
|
||||
#include <logging.h>
|
||||
#include <pubkey.h>
|
||||
#include <random.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
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();
|
||||
}
|
||||
} // namespace init
|
16
src/init/common.h
Normal file
16
src/init/common.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
// Copyright (c) 2021 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
//! @file
|
||||
//! @brief Common init functions shared by bitcoin-node, bitcoin-wallet, etc.
|
||||
|
||||
#ifndef BITCOIN_INIT_COMMON_H
|
||||
#define BITCOIN_INIT_COMMON_H
|
||||
|
||||
namespace init {
|
||||
void SetGlobals();
|
||||
void UnsetGlobals();
|
||||
} // namespace init
|
||||
|
||||
#endif // BITCOIN_INIT_COMMON_H
|
Loading…
Add table
Reference in a new issue