diff options
author | Peter Boström <pbos@webrtc.org> | 2015-12-07 23:07:01 +0100 |
---|---|---|
committer | Peter Boström <pbos@webrtc.org> | 2015-12-07 22:07:11 +0000 |
commit | 84f0970d100e67a1dc4fe9a1b16b7d293302044e (patch) | |
tree | b3eca5f9c979c3dedce765405f3cf90a1180217f /webrtc/system_wrappers | |
parent | 0f490a5b8609c1f10dba37d7a7b0b2fc055543eb (diff) | |
download | webrtc-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.h | 3 | ||||
-rw-r--r-- | webrtc/system_wrappers/source/trace_impl.cc | 6 |
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 |