diff options
author | jam <jam@chromium.org> | 2015-12-04 12:09:09 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-04 20:09:58 +0000 |
commit | 4e9a0f74389e0745855d939ac9ef900fbaa68fec (patch) | |
tree | d85dd74b5d7fd06e7abb3f9c97fb5e34da3124ea /skia | |
parent | bf8ab5f6cfc6776a4cf0e59d68ff911d598c7c17 (diff) | |
download | chromium_src-4e9a0f74389e0745855d939ac9ef900fbaa68fec.zip chromium_src-4e9a0f74389e0745855d939ac9ef900fbaa68fec.tar.gz chromium_src-4e9a0f74389e0745855d939ac9ef900fbaa68fec.tar.bz2 |
Revert of Fix TSAN error in skia/chromium ref count debug checks (patchset #1 id:1 of https://codereview.chromium.org/1494633002/ )
Reason for revert:
Broke https://build.chromium.org/p/chromium.linux/builders/Linux%20Builder%20%28dbg%29/builds/96882/steps/compile/logs/stdio
Looks like analyze didn't do any compiles because sk_ref_cnt_ext_debug.h is not in any build files.
Please ensure sk_ref_cnt_ext_debug.h is listed in gyp and build.gn files, otherwise analyze won't know to build any targets when that file changes.
Original issue's description:
> Fix TSAN error in skia/chromium ref count debug checks
>
> Using std::atomic to make debug checks thread safe.
>
> BUG=509693
> R=senorblanco@chromium.org
>
> Committed: https://crrev.com/0d030275667855c06be6cfc2ac10fb434d7ed771
> Cr-Commit-Position: refs/heads/master@{#363274}
TBR=senorblanco@chromium.org,junov@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=509693
Review URL: https://codereview.chromium.org/1500033003
Cr-Commit-Position: refs/heads/master@{#363277}
Diffstat (limited to 'skia')
-rw-r--r-- | skia/config/sk_ref_cnt_ext_debug.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/skia/config/sk_ref_cnt_ext_debug.h b/skia/config/sk_ref_cnt_ext_debug.h index 1ca58ad..b2b66ad 100644 --- a/skia/config/sk_ref_cnt_ext_debug.h +++ b/skia/config/sk_ref_cnt_ext_debug.h @@ -9,24 +9,21 @@ #error Only one SkRefCnt should be used. #endif -#include <atomic> - // Alternate implementation of SkRefCnt for Chromium debug builds class SK_API SkRefCnt : public SkRefCntBase { public: SkRefCnt() : flags_(0) {} - void ref() const { SkASSERT(flags_.load() != AdoptionRequired_Flag); SkRefCntBase::ref(); } + void ref() const { SkASSERT(flags_ != AdoptionRequired_Flag); SkRefCntBase::ref(); } void adopted() const { flags_ |= Adopted_Flag; } void requireAdoption() const { flags_ |= AdoptionRequired_Flag; } void deref() const { SkRefCntBase::unref(); } private: - enum { Adopted_Flag = 0x1, AdoptionRequired_Flag = 0x2, }; - mutable std::atomic<int> flags_; + mutable int flags_; }; // Bootstrap for Blink's WTF::RefPtr |