move-only: Move AbortNode to shutdown

Can be reviewed with the git option
--color-moved=dimmed-zebra
This commit is contained in:
MarcoFalke
2021-04-02 20:49:01 +02:00
parent fa413f07a1
commit fa91b2b2b3
3 changed files with 19 additions and 13 deletions

View File

@@ -6,7 +6,9 @@
#include <shutdown.h> #include <shutdown.h>
#include <logging.h> #include <logging.h>
#include <node/ui_interface.h>
#include <util/tokenpipe.h> #include <util/tokenpipe.h>
#include <warnings.h>
#include <config/bitcoin-config.h> #include <config/bitcoin-config.h>
@@ -16,6 +18,18 @@
#include <condition_variable> #include <condition_variable>
#endif #endif
bool AbortNode(const std::string& strMessage, bilingual_str user_message)
{
SetMiscWarning(Untranslated(strMessage));
LogPrintf("*** %s\n", strMessage);
if (user_message.empty()) {
user_message = _("A fatal internal error occurred, see debug.log for details");
}
AbortError(user_message);
StartShutdown();
return false;
}
static std::atomic<bool> fRequestShutdown(false); static std::atomic<bool> fRequestShutdown(false);
#ifdef WIN32 #ifdef WIN32
/** On windows it is possible to simply use a condition variable. */ /** On windows it is possible to simply use a condition variable. */

View File

@@ -6,6 +6,11 @@
#ifndef BITCOIN_SHUTDOWN_H #ifndef BITCOIN_SHUTDOWN_H
#define BITCOIN_SHUTDOWN_H #define BITCOIN_SHUTDOWN_H
#include <util/translation.h> // For bilingual_str
/** Abort with a message */
bool AbortNode(const std::string& strMessage, bilingual_str user_message = bilingual_str{});
/** Initialize shutdown state. This must be called before using either StartShutdown(), /** Initialize shutdown state. This must be called before using either StartShutdown(),
* AbortShutdown() or WaitForShutdown(). Calling ShutdownRequested() is always safe. * AbortShutdown() or WaitForShutdown(). Calling ShutdownRequested() is always safe.
*/ */

View File

@@ -1636,19 +1636,6 @@ bool UndoReadFromDisk(CBlockUndo& blockundo, const CBlockIndex* pindex)
return true; return true;
} }
/** Abort with a message */
static bool AbortNode(const std::string& strMessage, bilingual_str user_message = bilingual_str())
{
SetMiscWarning(Untranslated(strMessage));
LogPrintf("*** %s\n", strMessage);
if (user_message.empty()) {
user_message = _("A fatal internal error occurred, see debug.log for details");
}
AbortError(user_message);
StartShutdown();
return false;
}
static bool AbortNode(BlockValidationState& state, const std::string& strMessage, const bilingual_str& userMessage = bilingual_str()) static bool AbortNode(BlockValidationState& state, const std::string& strMessage, const bilingual_str& userMessage = bilingual_str())
{ {
AbortNode(strMessage, userMessage); AbortNode(strMessage, userMessage);