summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
authorjam <jam@chromium.org>2015-12-04 12:09:09 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-04 20:09:58 +0000
commit4e9a0f74389e0745855d939ac9ef900fbaa68fec (patch)
treed85dd74b5d7fd06e7abb3f9c97fb5e34da3124ea /skia
parentbf8ab5f6cfc6776a4cf0e59d68ff911d598c7c17 (diff)
downloadchromium_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.h7
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