Index: webrtc/test/channel_transport/udp_socket2_manager_win.cc |
diff --git a/webrtc/test/channel_transport/udp_socket2_manager_win.cc b/webrtc/test/channel_transport/udp_socket2_manager_win.cc |
index 55ddaee068324953946d595e427700894a504ce1..8ab70d3085ed8e98c0f04251fdad0e1a12e87227 100644 |
--- a/webrtc/test/channel_transport/udp_socket2_manager_win.cc |
+++ b/webrtc/test/channel_transport/udp_socket2_manager_win.cc |
@@ -13,6 +13,7 @@ |
#include <assert.h> |
#include <stdio.h> |
+#include "webrtc/base/atomicops.h" |
#include "webrtc/system_wrappers/interface/aligned_malloc.h" |
#include "webrtc/test/channel_transport/udp_socket2_win.h" |
@@ -418,7 +419,7 @@ IoContextPool::IoContextPool() |
IoContextPool::~IoContextPool() |
{ |
Free(); |
- assert(_size.Value() == 0); |
+ assert(rtc::AtomicOps::AcquireLoad(&_size) == 0); |
AlignedFree(_pListHead); |
} |
@@ -461,9 +462,9 @@ PerIoContext* IoContextPool::PopIoContext() |
memset(&item->payload.ioContext,0,sizeof(PerIoContext)); |
item->payload.base = item; |
pListEntry = &(item->itemEntry); |
- ++_size; |
+ rtc::AtomicOps::Increment(&_size); |
} |
- ++_inUse; |
+ rtc::AtomicOps::Increment(&_inUse); |
return &((IoContextPoolItem*)pListEntry)->payload.ioContext; |
} |
@@ -476,8 +477,8 @@ int32_t IoContextPool::PushIoContext(PerIoContext* pIoContext) |
IoContextPoolItem* item = ((IoContextPoolItemPayload*)pIoContext)->base; |
- const int32_t usedItems = --_inUse; |
- const int32_t totalItems = _size.Value(); |
+ const int32_t usedItems = rtc::AtomicOps::Decrement(&_inUse); |
+ const int32_t totalItems = rtc::AtomicOps::AcquireLoad(&_size); |
const int32_t freeItems = totalItems - usedItems; |
if(freeItems < 0) |
{ |
@@ -489,7 +490,7 @@ int32_t IoContextPool::PushIoContext(PerIoContext* pIoContext) |
overlappedIOCompleted) |
{ |
AlignedFree(item); |
- --_size; |
+ rtc::AtomicOps::Decrement(&_size); |
return 0; |
} |
InterlockedPushEntrySList(_pListHead, &(item->itemEntry)); |
@@ -509,7 +510,7 @@ int32_t IoContextPool::Free() |
{ |
IoContextPoolItem* item = ((IoContextPoolItem*)pListEntry); |
AlignedFree(item); |
- --_size; |
+ rtc::AtomicOps::Decrement(&_size); |
itemsFreed++; |
pListEntry = InterlockedPopEntrySList(_pListHead); |
} |