diff options
author | Ben Woosley <ben.woosley@gmail.com> | 2018-05-16 19:17:40 +0000 |
---|---|---|
committer | Ben Woosley <ben.woosley@gmail.com> | 2018-06-25 00:08:49 -0400 |
commit | 1fabd59e7e870fae73bfbcfb227dd7452de94726 (patch) | |
tree | c6b4ec2a9f4e6e2897633cccdd82d13cc10acbe2 /src/interfaces | |
parent | e62fdfeeab13ff65bcedac30f08a3216f3b29255 (diff) |
Break circular dependency: init -> * -> init by extracting shutdown.h
Most includers just wanted to react to pending shutdown.
This isolates access to `fRequestShutdown` and limits access to the shutdown
api functions, including the new `AbortShutdown` for setting it to `false`.
Note I originally called `AbortShutdown` `CancelShutdown` but that name was
already taken by winuser.h
https://travis-ci.org/bitcoin/bitcoin/jobs/386913329
This change also triggered a build error in bench. Fixing it required moving LIBBITCOIN_SERVER after LIBBITCOIN_WALLET in bench_bench_bitcoin_LDADD To make
server definitions in src/net.cpp available to wallet methods in
src/wallet/wallet.cpp. Specifically, solving:
libbitcoin_wallet.a(libbitcoin_wallet_a-wallet.o): In function `CWalletTx::RelayWalletTransaction(CConnman*)':
wallet.cpp:(.text+0x3f0e): undefined reference to `CConnman::NodeFullyConnected(CNode const*)'
collect2: error: ld returned 1 exit status
https://travis-ci.org/bitcoin/bitcoin/jobs/392133581
Need for remaining init.h includes confirmed via a thorough search with a more
specific regex:
\bInterrupt\(\)|\bShutdown\(\)|\bInitLogging\(\)|\bInitParameterInteraction\(\)|\bAppInitBasicSetup\(\)|\bAppInitParameterInteraction\(\)|\bAppInitSanityChecks\(\)|\bAppInitLockDataDirectory\(\)|\bAppInitMain\(\)|\bSetupServerArgs\(\)|\bLicenseInfo\(\)|g_wallet_init_interface|init.h
Diffstat (limited to 'src/interfaces')
-rw-r--r-- | src/interfaces/node.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/interfaces/node.cpp b/src/interfaces/node.cpp index 4189ff7497..db371d104e 100644 --- a/src/interfaces/node.cpp +++ b/src/interfaces/node.cpp @@ -21,6 +21,7 @@ #include <primitives/block.h> #include <rpc/server.h> #include <scheduler.h> +#include <shutdown.h> #include <sync.h> #include <txmempool.h> #include <ui_interface.h> |