aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/BufferManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/profiling/BufferManager.cpp')
-rw-r--r--src/profiling/BufferManager.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/profiling/BufferManager.cpp b/src/profiling/BufferManager.cpp
index dbf4466bbb..6ac3ee17d1 100644
--- a/src/profiling/BufferManager.cpp
+++ b/src/profiling/BufferManager.cpp
@@ -29,16 +29,17 @@ BufferManager::BufferManager(unsigned int numberOfBuffers, unsigned int maxPacke
std::unique_ptr<IPacketBuffer> BufferManager::Reserve(unsigned int requestedSize, unsigned int& reservedSize)
{
+ reservedSize = 0;
std::unique_lock<std::mutex> availableListLock(m_AvailableMutex, std::defer_lock);
if (requestedSize > m_MaxBufferSize)
{
- throw armnn::InvalidArgumentException("The maximum buffer size that can be requested is [" +
- std::to_string(m_MaxBufferSize) + "] bytes");
+ return nullptr;
}
availableListLock.lock();
if (m_AvailableList.empty())
{
- throw armnn::profiling::BufferExhaustion("Buffer not available");
+ availableListLock.unlock();
+ return nullptr;
}
std::unique_ptr<IPacketBuffer> buffer = std::move(m_AvailableList.back());
m_AvailableList.pop_back();