Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1453)

Unified Diff: webrtc/modules/audio_conference_mixer/source/memory_pool_win.h

Issue 1347793005: Replace Atomic32 with webrtc/base/atomicops.h. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: fix typo Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_conference_mixer/source/memory_pool_win.h
diff --git a/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h b/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h
index 772a123ab7a053a760848d704a26d606d32891b1..91d662787e4a300b9528cea11fe1cae5bff6264c 100644
--- a/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h
+++ b/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h
@@ -14,8 +14,8 @@
#include <assert.h>
#include <windows.h>
+#include "webrtc/base/atomicops.h"
#include "webrtc/system_wrappers/interface/aligned_malloc.h"
-#include "webrtc/system_wrappers/interface/atomic32.h"
#include "webrtc/typedefs.h"
namespace webrtc {
@@ -66,8 +66,8 @@ private:
// Atomic single linked list head.
PSLIST_HEADER _pListHead;
- Atomic32 _createdMemory;
- Atomic32 _outstandingMemory;
+ volatile int _createdMemory;
+ volatile int _outstandingMemory;
};
template<class MemoryType>
@@ -89,8 +89,8 @@ MemoryPoolImpl<MemoryType>::~MemoryPoolImpl()
_pListHead = NULL;
}
// Trigger assert if there is outstanding memory.
- assert(_createdMemory.Value() == 0);
- assert(_outstandingMemory.Value() == 0);
+ assert(rtc::AtomicOps::AcquireLoad(&_createdMemory) == 0);
+ assert(rtc::AtomicOps::AcquireLoad(&_outstandingMemory) == 0);
}
template<class MemoryType>
@@ -106,7 +106,7 @@ int32_t MemoryPoolImpl<MemoryType>::PopMemory(MemoryType*& memory)
}
pListEntry = &(item->itemEntry);
}
- ++_outstandingMemory;
+ rtc::AtomicOps::Increment(&_outstandingMemory);
memory = &((MemoryPoolItem<MemoryType>*)pListEntry)->payload->memoryType;
return 0;
}
@@ -122,8 +122,8 @@ int32_t MemoryPoolImpl<MemoryType>::PushMemory(MemoryType*& memory)
MemoryPoolItem<MemoryType>* item =
((MemoryPoolItemPayload<MemoryType>*)memory)->base;
- const int32_t usedItems = --_outstandingMemory;
- const int32_t totalItems = _createdMemory.Value();
+ const int32_t usedItems = rtc::AtomicOps::Decrement(&_outstandingMemory);
+ const int32_t totalItems = rtc::AtomicOps::AcquireLoad(&_createdMemory);
const int32_t freeItems = totalItems - usedItems;
if(freeItems < 0)
{
@@ -136,7 +136,7 @@ int32_t MemoryPoolImpl<MemoryType>::PushMemory(MemoryType*& memory)
{
delete item->payload;
AlignedFree(item);
- --_createdMemory;
+ rtc::AtomicOps::Decrement(&_createdMemory);
return 0;
}
InterlockedPushEntrySList(_pListHead,&(item->itemEntry));
@@ -166,7 +166,7 @@ int32_t MemoryPoolImpl<MemoryType>::Terminate()
MemoryPoolItem<MemoryType>* item = ((MemoryPoolItem<MemoryType>*)pListEntry);
delete item->payload;
AlignedFree(item);
- --_createdMemory;
+ rtc::AtomicOps::Decrement(&_createdMemory);
itemsFreed++;
pListEntry = InterlockedPopEntrySList(_pListHead);
}
@@ -191,7 +191,7 @@ MemoryPoolItem<MemoryType>* MemoryPoolImpl<MemoryType>::CreateMemory()
return NULL;
}
returnValue->payload->base = returnValue;
- ++_createdMemory;
+ rtc::AtomicOps::Increment(&_createdMemory);
return returnValue;
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698