Remove atomicops.h from WebRTC
atomicops.h are not necessary in trace_event.h similar to the port in WebKit.
It will cause a benign race condition detected by TSAN. If it shows up in
TSAN we will either suppress it or annotate it with dynamic annotations.
BUG=1215
Review URL: https://webrtc-codereview.appspot.com/982004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3267 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/system_wrappers/interface/trace_event.h b/webrtc/system_wrappers/interface/trace_event.h
index fd581a4..eecf4f6 100644
--- a/webrtc/system_wrappers/interface/trace_event.h
+++ b/webrtc/system_wrappers/interface/trace_event.h
@@ -8,7 +8,6 @@
#include <string>
-#include "webrtc/system_wrappers/interface/atomicops.h"
#include "webrtc/system_wrappers/interface/event_tracer.h"
#if defined(TRACE_EVENT0)
@@ -595,21 +594,11 @@
INTERNAL_TRACE_EVENT_UID2(name_prefix, __LINE__)
// Implementation detail: internal macro to create static category.
-// No barriers are needed, because this code is designed to operate safely
-// even when the unsigned char* points to garbage data (which may be the case
-// on processors without cache coherency).
#define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category) \
- static webrtc::subtle::AtomicWord INTERNAL_TRACE_EVENT_UID(atomic) = 0; \
- const uint8_t* INTERNAL_TRACE_EVENT_UID(catstatic) = \
- reinterpret_cast<const uint8_t*>( \
- webrtc::subtle::NoBarrier_Load( \
- &INTERNAL_TRACE_EVENT_UID(atomic))); \
+ static const unsigned char* INTERNAL_TRACE_EVENT_UID(catstatic) = 0; \
if (!INTERNAL_TRACE_EVENT_UID(catstatic)) { \
INTERNAL_TRACE_EVENT_UID(catstatic) = \
TRACE_EVENT_API_GET_CATEGORY_ENABLED(category); \
- webrtc::subtle::NoBarrier_Store(&INTERNAL_TRACE_EVENT_UID(atomic), \
- reinterpret_cast<webrtc::subtle::AtomicWord>( \
- INTERNAL_TRACE_EVENT_UID(catstatic))); \
}
// Implementation detail: internal macro to create static category and add