aboutsummaryrefslogtreecommitdiff
path: root/webrtc/system_wrappers
diff options
context:
space:
mode:
authorPeter Boström <pbos@webrtc.org>2015-12-07 23:07:01 +0100
committerPeter Boström <pbos@webrtc.org>2015-12-07 22:07:11 +0000
commit84f0970d100e67a1dc4fe9a1b16b7d293302044e (patch)
treeb3eca5f9c979c3dedce765405f3cf90a1180217f /webrtc/system_wrappers
parent0f490a5b8609c1f10dba37d7a7b0b2fc055543eb (diff)
downloadwebrtc-84f0970d100e67a1dc4fe9a1b16b7d293302044e.tar.gz
Reland of "Create rtc::AtomicInt POD struct."
Relands https://codereview.webrtc.org/1420043008/ with brace initializers instead of constructors hoping that they won't introduce static initializers. BUG= R=tommi@webrtc.org Review URL: https://codereview.webrtc.org/1498953002 . Cr-Commit-Position: refs/heads/master@{#10920}
Diffstat (limited to 'webrtc/system_wrappers')
-rw-r--r--webrtc/system_wrappers/include/trace.h3
-rw-r--r--webrtc/system_wrappers/source/trace_impl.cc6
2 files changed, 5 insertions, 4 deletions
diff --git a/webrtc/system_wrappers/include/trace.h b/webrtc/system_wrappers/include/trace.h
index 25a3d746c4..6b401e87cd 100644
--- a/webrtc/system_wrappers/include/trace.h
+++ b/webrtc/system_wrappers/include/trace.h
@@ -16,6 +16,7 @@
#ifndef WEBRTC_SYSTEM_WRAPPERS_INCLUDE_TRACE_H_
#define WEBRTC_SYSTEM_WRAPPERS_INCLUDE_TRACE_H_
+#include "webrtc/base/atomicops.h"
#include "webrtc/common_types.h"
#include "webrtc/typedefs.h"
@@ -84,7 +85,7 @@ class Trace {
const char* msg, ...);
private:
- static volatile int level_filter_;
+ static rtc::AtomicInt level_filter_;
};
} // namespace webrtc
diff --git a/webrtc/system_wrappers/source/trace_impl.cc b/webrtc/system_wrappers/source/trace_impl.cc
index 5029f5ab6e..3bf1f1bb64 100644
--- a/webrtc/system_wrappers/source/trace_impl.cc
+++ b/webrtc/system_wrappers/source/trace_impl.cc
@@ -34,7 +34,7 @@ namespace webrtc {
const int Trace::kBoilerplateLength = 71;
const int Trace::kTimestampPosition = 13;
const int Trace::kTimestampLength = 12;
-volatile int Trace::level_filter_ = kTraceDefault;
+rtc::AtomicInt Trace::level_filter_ = {kTraceDefault};
// Construct On First Use idiom. Avoids "static initialization order fiasco".
TraceImpl* TraceImpl::StaticInstance(CountOperation count_operation,
@@ -548,12 +548,12 @@ int32_t Trace::TraceFile(char file_name[FileWrapper::kMaxFileNameSize]) {
// static
void Trace::set_level_filter(int filter) {
- rtc::AtomicOps::ReleaseStore(&level_filter_, filter);
+ rtc::AtomicInt::ReleaseStore(&level_filter_, filter);
}
// static
int Trace::level_filter() {
- return rtc::AtomicOps::AcquireLoad(&level_filter_);
+ return rtc::AtomicInt::AcquireLoad(&level_filter_);
}
// static