mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-18 07:50:38 +02:00
The extra `bilingual_str` argument of the fatal error notifications and `node::AbortNode()` is often unused and when used usually contains the same string as the message argument. It also seems to be confusing, since it is not consistently used for errors requiring user action. For example some assumeutxo fatal errors require the user to do something, but are not translated. So simplify the fatal error and abort node interfaces by only passing a translated string. This slightly changes the fatal errors displayed to the user. Also de-duplicate the abort error log since it is repeated in noui.cpp.
29 lines
818 B
C++
29 lines
818 B
C++
// Copyright (c) 2023 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 <node/abort.h>
|
|
|
|
#include <logging.h>
|
|
#include <node/interface_ui.h>
|
|
#include <util/signalinterrupt.h>
|
|
#include <util/translation.h>
|
|
#include <warnings.h>
|
|
|
|
#include <atomic>
|
|
#include <cstdlib>
|
|
#include <string>
|
|
|
|
namespace node {
|
|
|
|
void AbortNode(util::SignalInterrupt* shutdown, std::atomic<int>& exit_status, const bilingual_str& message)
|
|
{
|
|
SetMiscWarning(message);
|
|
InitError(_("A fatal internal error occurred, see debug.log for details: ") + message);
|
|
exit_status.store(EXIT_FAILURE);
|
|
if (shutdown && !(*shutdown)()) {
|
|
LogError("Failed to send shutdown signal\n");
|
|
};
|
|
}
|
|
} // namespace node
|