aboutsummaryrefslogtreecommitdiff
path: root/src/init/bitcoind.cpp
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2017-12-05 15:57:12 -0500
committerRussell Yanofsky <russ@yanofsky.org>2021-04-23 03:02:50 -0500
commitddf7ecc8dfc64cf121099fb047e1ac871de94f4c (patch)
treea0f922fe9b8ffc608a549e5693f1285c9c90c82d /src/init/bitcoind.cpp
parent10afdf0280fa93bfffb0a7665c60dc155cd84514 (diff)
downloadbitcoin-ddf7ecc8dfc64cf121099fb047e1ac871de94f4c.tar.xz
multiprocess: Add bitcoin-node process spawning support
Add bitcoin-node startup code to let it spawn and be spawned by other processes
Diffstat (limited to 'src/init/bitcoind.cpp')
-rw-r--r--src/init/bitcoind.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/init/bitcoind.cpp b/src/init/bitcoind.cpp
new file mode 100644
index 0000000000..1e17ce4d3c
--- /dev/null
+++ b/src/init/bitcoind.cpp
@@ -0,0 +1,29 @@
+// 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 <interfaces/init.h>
+#include <node/context.h>
+
+#include <memory>
+
+namespace init {
+namespace {
+class BitcoindInit : public interfaces::Init
+{
+public:
+ BitcoindInit(NodeContext& node) : m_node(node)
+ {
+ m_node.init = this;
+ }
+ NodeContext& m_node;
+};
+} // namespace
+} // namespace init
+
+namespace interfaces {
+std::unique_ptr<Init> MakeNodeInit(NodeContext& node, int argc, char* argv[], int& exit_status)
+{
+ return std::make_unique<init::BitcoindInit>(node);
+}
+} // namespace interfaces