diff options
Diffstat (limited to 'util/ysafeptr.cpp')
| -rw-r--r-- | util/ysafeptr.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/util/ysafeptr.cpp b/util/ysafeptr.cpp index 96f25140673..db2ff21ec0c 100644 --- a/util/ysafeptr.cpp +++ b/util/ysafeptr.cpp @@ -1,5 +1,7 @@ #include "ysafeptr.h" +#include <util/system/sanitizers.h> + #ifdef CHECK_YPTR2 Y_POD_THREAD(bool) IObjectBase::DisableThreadCheck; @@ -24,6 +26,11 @@ void IObjectBase::ReleaseObjComplete(int nMask) { } } //////////////////////////////////////////////////////////////////////////////////////////////////// +void IObjectBase::UnpoisonCounters() noexcept { + NSan::Unpoison(&ObjData, sizeof(ObjData)); + NSan::Unpoison(&RefData, sizeof(RefData)); +} +//////////////////////////////////////////////////////////////////////////////////////////////////// void IObjectBase::ReleaseRefComplete() { assert(RefData == 0); if ((ObjData & 0x3fffffff) == 0) { |
