Bitcoin Core
31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
src
node
abort.cpp
Go to the documentation of this file.
1
// Copyright (c) 2023-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#include <
node/abort.h
>
6
7
#include <logging.h>
8
#include <
node/interface_ui.h
>
9
#include <
node/warnings.h
>
10
#include <
util/signalinterrupt.h
>
11
#include <
util/translation.h
>
12
13
#include <atomic>
14
#include <cstdlib>
15
16
namespace
node
{
17
18
void
AbortNode
(
const
std::function<
bool
()>& shutdown_request, std::atomic<int>&
exit_status
,
const
bilingual_str
& message,
node::Warnings
* warnings)
19
{
20
if
(warnings) warnings->
Set
(
Warning::FATAL_INTERNAL_ERROR
, message);
21
InitError
(
_
(
"A fatal internal error occurred, see debug.log for details: "
) + message);
22
exit_status
.store(EXIT_FAILURE);
23
if
(shutdown_request && !shutdown_request()) {
24
LogError
(
"Failed to send shutdown signal\n"
);
25
};
26
}
27
}
// namespace node
abort.h
exit_status
int exit_status
Definition
bitcoin-wallet.cpp:98
node::Warnings
Manages warning messages within a node.
Definition
warnings.h:40
node::Warnings::Set
bool Set(warning_type id, bilingual_str message) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
Set a warning message.
Definition
warnings.cpp:29
InitError
bool InitError(const bilingual_str &str)
Show error message.
Definition
interface_ui.cpp:62
interface_ui.h
LogError
#define LogError(...)
Definition
log.h:97
node
Definition
messages.h:21
node::AbortNode
void AbortNode(const std::function< bool()> &shutdown_request, std::atomic< int > &exit_status, const bilingual_str &message, node::Warnings *warnings)
Definition
abort.cpp:18
node::Warning::FATAL_INTERNAL_ERROR
@ FATAL_INTERNAL_ERROR
Definition
warnings.h:26
signalinterrupt.h
bilingual_str
Bilingual messages:
Definition
translation.h:24
translation.h
_
consteval auto _(util::TranslatedLiteral str)
Definition
translation.h:79
warnings.h
Generated on
for Bitcoin Core by
1.16.1