aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@protonmail.com>2019-10-03 06:08:52 +0200
committerWladimir J. van der Laan <laanwj@protonmail.com>2019-10-03 06:58:47 +0200
commit07e4bdba3bd46c3a15dedb0a2660453c300643dc (patch)
treef8f640a3962e72252121ebc3652b74b09c53f0bc /src/util
parentf4a0d27e85754d60804ffa36e415b67c263180b9 (diff)
downloadbitcoin-07e4bdba3bd46c3a15dedb0a2660453c300643dc.tar.xz
Don't rename main thread at process level
Set only the internal name. Fixes #17036 for both `bitcoind` and `bitcoin-qt`.
Diffstat (limited to 'src/util')
-rw-r--r--src/util/threadnames.cpp5
-rw-r--r--src/util/threadnames.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/util/threadnames.cpp b/src/util/threadnames.cpp
index c25e9ed661..168f9325d0 100644
--- a/src/util/threadnames.cpp
+++ b/src/util/threadnames.cpp
@@ -60,3 +60,8 @@ void util::ThreadRename(std::string&& name)
SetThreadName(("b-" + name).c_str());
SetInternalName(std::move(name));
}
+
+void util::ThreadSetInternalName(std::string&& name)
+{
+ SetInternalName(std::move(name));
+}
diff --git a/src/util/threadnames.h b/src/util/threadnames.h
index aaf07b9bf8..69a1b55bfe 100644
--- a/src/util/threadnames.h
+++ b/src/util/threadnames.h
@@ -10,8 +10,13 @@
namespace util {
//! Rename a thread both in terms of an internal (in-memory) name as well
//! 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&&);
+//! 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
//! logging.
const std::string& ThreadGetInternalName();