aboutsummaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authorRyan Ofsky <ryan@ofsky.org>2023-07-07 17:32:54 -0400
committerRyan Ofsky <ryan@ofsky.org>2023-12-04 15:39:15 -0400
commit6db04be102807ee0120981a9b8de62a55439dabb (patch)
tree18be6e4dbf867c9b5540b2cee1247538dc0f782e /src/kernel
parent213542b625a6a4885fcbdfe236629a5f381eeb05 (diff)
downloadbitcoin-6db04be102807ee0120981a9b8de62a55439dabb.tar.xz
Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly
This change is mostly a refectoring that removes some code and gets rid of an unnecessary layer of indirection after #27861 But it is not a pure refactoring since StartShutdown, AbortShutdown, and WaitForShutdown functions used to abort on failure, and the replacement code logs or returns errors instead.
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/context.cpp6
-rw-r--r--src/kernel/context.h15
2 files changed, 0 insertions, 21 deletions
diff --git a/src/kernel/context.cpp b/src/kernel/context.cpp
index 3f4a423531..c60f1638d1 100644
--- a/src/kernel/context.cpp
+++ b/src/kernel/context.cpp
@@ -14,12 +14,8 @@
namespace kernel {
-Context* g_context;
-
Context::Context()
{
- assert(!g_context);
- g_context = this;
std::string sha256_algo = SHA256AutoDetect();
LogPrintf("Using the '%s' SHA256 implementation\n", sha256_algo);
RandomInit();
@@ -29,8 +25,6 @@ Context::Context()
Context::~Context()
{
ECC_Stop();
- assert(g_context);
- g_context = nullptr;
}
} // namespace kernel
diff --git a/src/kernel/context.h b/src/kernel/context.h
index e74e0a6f08..ff4df20473 100644
--- a/src/kernel/context.h
+++ b/src/kernel/context.h
@@ -18,24 +18,9 @@ namespace kernel {
//! State stored directly in this struct should be simple. More complex state
//! should be stored to std::unique_ptr members pointing to opaque types.
struct Context {
- //! Interrupt object that can be used to stop long-running kernel operations.
- util::SignalInterrupt interrupt;
-
- //! Declare default constructor and destructor that are not inline, so code
- //! instantiating the kernel::Context struct doesn't need to #include class
- //! definitions for all the unique_ptr members.
Context();
~Context();
};
-
-//! Global pointer to kernel::Context for legacy code. New code should avoid
-//! using this, and require state it needs to be passed to it directly.
-//!
-//! Having this pointer is useful because it allows state be moved out of global
-//! variables into the kernel::Context struct before all global references to
-//! that state are removed. This allows the global references to be removed
-//! incrementally, instead of all at once.
-extern Context* g_context;
} // namespace kernel
#endif // BITCOIN_KERNEL_CONTEXT_H