Scope our ANNOTATE_BENIGN_RACE.

This should unstick the DEPS roll.  When building with TSAN, Chromium's pulling
in the canonical one from dynamic_annotations.h, and we're trying to redefine it.

R=robertphillips@google.com, reed@google.com, bsalomon@google.com
TBR=reed@google.com
BUG=

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/144063002

git-svn-id: http://skia.googlecode.com/svn/trunk@13129 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
commit-bot@chromium.org 2014-01-21 15:11:02 +00:00
parent 5e93b85884
commit 91506eb0b9

View File

@ -112,7 +112,7 @@ static void sk_once_slow(SkOnceFlag* once, Func f, Arg arg) {
// We nabbed this code from the dynamic_annotations library, and in their honor // We nabbed this code from the dynamic_annotations library, and in their honor
// we check the same define. If you find yourself wanting more than just // we check the same define. If you find yourself wanting more than just
// ANNOTATE_BENIGN_RACE, it might make sense to pull that in as a dependency // SK_ANNOTATE_BENIGN_RACE, it might make sense to pull that in as a dependency
// rather than continue to reproduce it here. // rather than continue to reproduce it here.
#if DYNAMIC_ANNOTATIONS_ENABLED #if DYNAMIC_ANNOTATIONS_ENABLED
@ -120,15 +120,15 @@ static void sk_once_slow(SkOnceFlag* once, Func f, Arg arg) {
extern "C" { extern "C" {
void AnnotateBenignRace(const char* file, int line, const volatile void* mem, const char* desc); void AnnotateBenignRace(const char* file, int line, const volatile void* mem, const char* desc);
} }
#define ANNOTATE_BENIGN_RACE(mem, desc) AnnotateBenignRace(__FILE__, __LINE__, mem, desc) #define SK_ANNOTATE_BENIGN_RACE(mem, desc) AnnotateBenignRace(__FILE__, __LINE__, mem, desc)
#else #else
#define ANNOTATE_BENIGN_RACE(mem, desc) #define SK_ANNOTATE_BENIGN_RACE(mem, desc)
#endif #endif
// This is our fast path, called all the time. We do really want it to be inlined. // This is our fast path, called all the time. We do really want it to be inlined.
template <typename Func, typename Arg> template <typename Func, typename Arg>
inline void SkOnce(SkOnceFlag* once, Func f, Arg arg) { inline void SkOnce(SkOnceFlag* once, Func f, Arg arg) {
ANNOTATE_BENIGN_RACE(&(once->done), "Don't worry TSAN, we're sure this is safe."); SK_ANNOTATE_BENIGN_RACE(&(once->done), "Don't worry TSAN, we're sure this is safe.");
if (!once->done) { if (!once->done) {
sk_once_slow(once, f, arg); sk_once_slow(once, f, arg);
} }
@ -145,6 +145,6 @@ inline void SkOnce(SkOnceFlag* once, Func f, Arg arg) {
acquire_barrier(); acquire_barrier();
} }
#undef ANNOTATE_BENIGN_RACE #undef SK_ANNOTATE_BENIGN_RACE
#endif // SkOnce_DEFINED #endif // SkOnce_DEFINED