diff options
author | Finn Williams <Finn.Williams@arm.com> | 2020-03-24 13:46:22 +0000 |
---|---|---|
committer | finn.williams <finn.williams@arm.com> | 2020-03-24 15:59:39 +0000 |
commit | b6a402f46231688f7684dcb8c8e4ef5f4579b011 (patch) | |
tree | ef0a54d225b6ea473f33811245bcd4873b996a80 /src/profiling/BufferManager.cpp | |
parent | ac47210621a601a2b6ded78e003d136626434f50 (diff) | |
download | armnn-b6a402f46231688f7684dcb8c8e4ef5f4579b011.tar.gz |
IVGCVSW-4596 Fix BufferManager's packet order
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I35e0a891cd69f2c130b8886460089c441d8e666d
Diffstat (limited to 'src/profiling/BufferManager.cpp')
-rw-r--r-- | src/profiling/BufferManager.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/profiling/BufferManager.cpp b/src/profiling/BufferManager.cpp index f5ab729259..a7b71e5fa1 100644 --- a/src/profiling/BufferManager.cpp +++ b/src/profiling/BufferManager.cpp @@ -45,7 +45,7 @@ void BufferManager::Commit(IPacketBufferPtr& packetBuffer, unsigned int size, bo std::unique_lock<std::mutex> readableListLock(m_ReadableMutex, std::defer_lock); packetBuffer->Commit(size); readableListLock.lock(); - m_ReadableList.push_back(std::move(packetBuffer)); + m_ReadableList.push(std::move(packetBuffer)); readableListLock.unlock(); if (notifyConsumer) @@ -62,7 +62,6 @@ void BufferManager::Initialize() IPacketBufferPtr buffer = std::make_unique<PacketBuffer>(m_MaxBufferSize); m_AvailableList.emplace_back(std::move(buffer)); } - m_ReadableList.reserve(m_NumberOfBuffers); } void BufferManager::Release(IPacketBufferPtr& packetBuffer) @@ -81,7 +80,7 @@ void BufferManager::Reset() std::lock_guard<std::mutex> availableListLock(m_AvailableMutex); m_AvailableList.clear(); - m_ReadableList.clear(); + std::queue<IPacketBufferPtr>().swap(m_ReadableList); Initialize(); } @@ -91,8 +90,8 @@ IPacketBufferPtr BufferManager::GetReadableBuffer() std::unique_lock<std::mutex> readableListLock(m_ReadableMutex); if (!m_ReadableList.empty()) { - IPacketBufferPtr buffer = std::move(m_ReadableList.back()); - m_ReadableList.pop_back(); + IPacketBufferPtr buffer = std::move(m_ReadableList.front()); + m_ReadableList.pop(); readableListLock.unlock(); return buffer; } |