ae5f2b6a6c
This work is prerequisite to attaching thread names to log lines and deadlock debug utilities. This code allows setting of an "internal" threadname per thread on platforms where thread_local is available. This commit also moves RenameThread() out of a more general module and adds a numeric suffix to disambiguate between threads with the same name. It explicitly names a few main threads using the new util::ThreadRename().
21 lines
633 B
C++
21 lines
633 B
C++
// Copyright (c) 2018 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_UTIL_THREADNAMES_H
|
|
#define BITCOIN_UTIL_THREADNAMES_H
|
|
|
|
#include <string>
|
|
|
|
namespace util {
|
|
//! Rename a thread both in terms of an internal (in-memory) name as well
|
|
//! as its system thread name.
|
|
void ThreadRename(std::string&&);
|
|
|
|
//! Get the thread's internal (in-memory) name; used e.g. for identification in
|
|
//! logging.
|
|
const std::string& ThreadGetInternalName();
|
|
|
|
} // namespace util
|
|
|
|
#endif // BITCOIN_UTIL_THREADNAMES_H
|