Coverage Report

Created: 2024-10-21 15:10

/root/bitcoin/src/node/abort.cpp
Line
Count
Source (jump to first uncovered line)
1
// Copyright (c) 2023 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
0
{
20
0
    if (warnings) warnings->Set(Warning::FATAL_INTERNAL_ERROR, message);
21
0
    InitError(_("A fatal internal error occurred, see debug.log for details: ") + message);
22
0
    exit_status.store(EXIT_FAILURE);
23
0
    if (shutdown_request && !shutdown_request()) {
24
0
        LogError("Failed to send shutdown signal\n");
25
0
    };
26
0
}
27
} // namespace node