diff options
author | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-06-05 15:35:22 +0300 |
---|---|---|
committer | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-06-05 15:35:22 +0300 |
commit | 682f9f94f49c0edfd94cdf1aac97372918a2b894 (patch) | |
tree | f2fdd4b3316158e6ce7b06bf9fa33d79fca2e8c9 /library/cpp | |
parent | 45c174f12cdc1defbcec3574d224d9d5be4e5b95 (diff) | |
download | ydb-682f9f94f49c0edfd94cdf1aac97372918a2b894.tar.gz |
YT-17341: Use TThreadName instead of TString to store thread name in error.
Diffstat (limited to 'library/cpp')
-rw-r--r-- | library/cpp/yt/misc/thread_name.cpp | 12 | ||||
-rw-r--r-- | library/cpp/yt/misc/thread_name.h | 7 |
2 files changed, 15 insertions, 4 deletions
diff --git a/library/cpp/yt/misc/thread_name.cpp b/library/cpp/yt/misc/thread_name.cpp index 372e14462e..63ba1ee227 100644 --- a/library/cpp/yt/misc/thread_name.cpp +++ b/library/cpp/yt/misc/thread_name.cpp @@ -10,10 +10,18 @@ namespace NYT { //////////////////////////////////////////////////////////////////////////////// -TString TThreadName::ToString() const +TStringBuf TThreadName::ToStringBuf() const { // Buffer is zero terminated. - return Buffer.data(); + return TStringBuf(Buffer.data(), Length); +} + +//////////////////////////////////////////////////////////////////////////////// + +TThreadName::TThreadName(const TString& name) +{ + Length = std::min<int>(TThreadName::BufferCapacity - 1, name.length()); + ::memcpy(Buffer.data(), name.data(), Length); } //////////////////////////////////////////////////////////////////////////////// diff --git a/library/cpp/yt/misc/thread_name.h b/library/cpp/yt/misc/thread_name.h index 5f87cb1fd8..96b8ed1995 100644 --- a/library/cpp/yt/misc/thread_name.h +++ b/library/cpp/yt/misc/thread_name.h @@ -10,11 +10,14 @@ namespace NYT { struct TThreadName { + TThreadName() = default; + TThreadName(const TString& name); + + TStringBuf ToStringBuf() const; + static constexpr int BufferCapacity = 16; // including zero terminator std::array<char, BufferCapacity> Buffer{}; // zero-terminated int Length; // not including zero terminator - - TString ToString() const; }; TThreadName GetCurrentThreadName(); |