Index: webrtc/voice_engine/channel_manager.h |
diff --git a/webrtc/voice_engine/channel_manager.h b/webrtc/voice_engine/channel_manager.h |
index 81768e010f0c331c2a17d18e5c44379b86e29958..1670421a729b76ba6ec0835554e5ef384e3585be 100644 |
--- a/webrtc/voice_engine/channel_manager.h |
+++ b/webrtc/voice_engine/channel_manager.h |
@@ -13,10 +13,10 @@ |
#include <vector> |
+#include "webrtc/base/atomicops.h" |
#include "webrtc/base/constructormagic.h" |
#include "webrtc/base/scoped_ptr.h" |
#include "webrtc/call/rtc_event_log.h" |
-#include "webrtc/system_wrappers/interface/atomic32.h" |
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h" |
#include "webrtc/typedefs.h" |
@@ -55,7 +55,10 @@ class ChannelOwner { |
Channel* channel() const { return channel_ref_->channel.get(); } |
bool IsValid() { return channel_ref_->channel.get() != NULL; } |
- int use_count() const { return channel_ref_->ref_count.Value(); } |
+ int use_count() const { |
+ return rtc::AtomicOps::AcquireLoad(&channel_ref_->ref_count); |
+ } |
+ |
private: |
// Shared instance of a Channel. Copying ChannelOwners increase the reference |
// count and destroying ChannelOwners decrease references. Channels are |
@@ -63,7 +66,7 @@ class ChannelOwner { |
struct ChannelRef { |
ChannelRef(Channel* channel); |
const rtc::scoped_ptr<Channel> channel; |
- Atomic32 ref_count; |
+ volatile int ref_count; |
}; |
ChannelRef* channel_ref_; |
@@ -121,7 +124,7 @@ class ChannelManager { |
uint32_t instance_id_; |
- Atomic32 last_channel_id_; |
+ volatile int last_channel_id_; |
rtc::scoped_ptr<CriticalSectionWrapper> lock_; |
std::vector<ChannelOwner> channels_; |