Don't rename main thread at process level
Set only the internal name. Fixes #17036 for both `bitcoind` and `bitcoin-qt`. Github-Pull: #17038 Rebased-From: 07e4bdba3bd46c3a15dedb0a2660453c300643dc Tree-SHA512: ed6f1b95a23c4c7863982ee6972429be5af0702ea93f0f17d32d2ef4b01446b1c0528eeadc45289609eda5c02ea68b3d722b8ecdfdf4fff4b02592c2188cc0a0
This commit is contained in:
parent
76ec335234
commit
9fdaaecf49
4 changed files with 12 additions and 2 deletions
|
@ -45,7 +45,7 @@ static bool AppInit(int argc, char* argv[])
|
||||||
|
|
||||||
bool fRet = false;
|
bool fRet = false;
|
||||||
|
|
||||||
util::ThreadRename("init");
|
util::ThreadSetInternalName("init");
|
||||||
|
|
||||||
//
|
//
|
||||||
// Parameters
|
// Parameters
|
||||||
|
|
|
@ -416,7 +416,7 @@ int GuiMain(int argc, char* argv[])
|
||||||
std::tie(argc, argv) = winArgs.get();
|
std::tie(argc, argv) = winArgs.get();
|
||||||
#endif
|
#endif
|
||||||
SetupEnvironment();
|
SetupEnvironment();
|
||||||
util::ThreadRename("main");
|
util::ThreadSetInternalName("main");
|
||||||
|
|
||||||
std::unique_ptr<interfaces::Node> node = interfaces::MakeNode();
|
std::unique_ptr<interfaces::Node> node = interfaces::MakeNode();
|
||||||
|
|
||||||
|
|
|
@ -60,3 +60,8 @@ void util::ThreadRename(std::string&& name)
|
||||||
SetThreadName(("b-" + name).c_str());
|
SetThreadName(("b-" + name).c_str());
|
||||||
SetInternalName(std::move(name));
|
SetInternalName(std::move(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void util::ThreadSetInternalName(std::string&& name)
|
||||||
|
{
|
||||||
|
SetInternalName(std::move(name));
|
||||||
|
}
|
||||||
|
|
|
@ -10,8 +10,13 @@
|
||||||
namespace util {
|
namespace util {
|
||||||
//! Rename a thread both in terms of an internal (in-memory) name as well
|
//! Rename a thread both in terms of an internal (in-memory) name as well
|
||||||
//! as its system thread name.
|
//! as its system thread name.
|
||||||
|
//! @note Do not call this for the main thread, as this will interfere with
|
||||||
|
//! UNIX utilities such as top and killall. Use ThreadSetInternalName instead.
|
||||||
void ThreadRename(std::string&&);
|
void ThreadRename(std::string&&);
|
||||||
|
|
||||||
|
//! Set the internal (in-memory) name of the current thread only.
|
||||||
|
void ThreadSetInternalName(std::string&&);
|
||||||
|
|
||||||
//! Get the thread's internal (in-memory) name; used e.g. for identification in
|
//! Get the thread's internal (in-memory) name; used e.g. for identification in
|
||||||
//! logging.
|
//! logging.
|
||||||
const std::string& ThreadGetInternalName();
|
const std::string& ThreadGetInternalName();
|
||||||
|
|
Loading…
Add table
Reference in a new issue