/Users/eugenesiegel/btc/bitcoin/src/util/thread.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2021-2022 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 <util/thread.h> |
6 | | |
7 | | #include <logging.h> |
8 | | #include <util/exception.h> |
9 | | #include <util/threadnames.h> |
10 | | |
11 | | #include <exception> |
12 | | #include <functional> |
13 | | #include <string> |
14 | | #include <utility> |
15 | | |
16 | | void util::TraceThread(std::string_view thread_name, std::function<void()> thread_func) |
17 | 49.9k | { |
18 | 49.9k | util::ThreadRename(std::string{thread_name}); |
19 | 49.9k | try { |
20 | 49.9k | LogPrintf("%s thread start\n", thread_name); Line | Count | Source | 266 | 49.9k | #define LogPrintf(...) LogInfo(__VA_ARGS__) Line | Count | Source | 261 | 49.9k | #define LogInfo(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Info, __VA_ARGS__) Line | Count | Source | 255 | 49.9k | #define LogPrintLevel_(category, level, ...) LogPrintFormatInternal(__func__, __FILE__, __LINE__, category, level, __VA_ARGS__) |
|
|
|
21 | 49.9k | thread_func(); |
22 | 49.9k | LogPrintf("%s thread exit\n", thread_name); Line | Count | Source | 266 | 49.9k | #define LogPrintf(...) LogInfo(__VA_ARGS__) Line | Count | Source | 261 | 49.9k | #define LogInfo(...) LogPrintLevel_(BCLog::LogFlags::ALL, BCLog::Level::Info, __VA_ARGS__) Line | Count | Source | 255 | 49.9k | #define LogPrintLevel_(category, level, ...) LogPrintFormatInternal(__func__, __FILE__, __LINE__, category, level, __VA_ARGS__) |
|
|
|
23 | 49.9k | } catch (const std::exception& e) { |
24 | 0 | PrintExceptionContinue(&e, thread_name); |
25 | 0 | throw; |
26 | 0 | } catch (...) { |
27 | 0 | PrintExceptionContinue(nullptr, thread_name); |
28 | 0 | throw; |
29 | 0 | } |
30 | 49.9k | } |