diff options
author | pechatnov <pechatnov@yandex-team.com> | 2025-02-13 20:53:09 +0300 |
---|---|---|
committer | pechatnov <pechatnov@yandex-team.com> | 2025-02-13 21:09:58 +0300 |
commit | fff9e1383557f03c7f538dcfc309c0f9a029e5da (patch) | |
tree | 5cb9f2e47c8fdb3606db6fe68277d8c192969f25 | |
parent | 02fddc7716b6b6c22b771ed75f40109eb673ad0d (diff) | |
download | ydb-fff9e1383557f03c7f538dcfc309c0f9a029e5da.tar.gz |
YT: Disable tsan for ref counted tracker
commit_hash:fe2d4f8cd15ba1b10e134484f0a61f698f37379f
-rw-r--r-- | yt/yt/core/misc/ref_counted_tracker-inl.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/yt/yt/core/misc/ref_counted_tracker-inl.h b/yt/yt/core/misc/ref_counted_tracker-inl.h index 8e132d59a5..9e8a75e6b1 100644 --- a/yt/yt/core/misc/ref_counted_tracker-inl.h +++ b/yt/yt/core/misc/ref_counted_tracker-inl.h @@ -74,7 +74,15 @@ public: TRefCountedTrackerStatistics::TNamedSlotStatistics GetStatistics() const; - TNamedSlot& operator += (const TLocalSlot& rhs) + #define REF_COUNTED_TRACKER_NO_TSAN + #if defined(__has_feature) + #if __has_feature(thread_sanitizer) + #undef REF_COUNTED_TRACKER_NO_TSAN + #define REF_COUNTED_TRACKER_NO_TSAN __attribute__((no_sanitize("thread"))) + #endif + #endif + + TNamedSlot& REF_COUNTED_TRACKER_NO_TSAN operator += (const TLocalSlot& rhs) { #define XX(name) name ## _ += rhs.name; ENUMERATE_SLOT_FIELDS() @@ -82,6 +90,8 @@ public: return *this; } + #undef REF_COUNTED_TRACKER_NO_TSAN + TNamedSlot& operator += (const TGlobalSlot& rhs) { #define XX(name) name ## _ += rhs.name.load(); |