MCPcopy Create free account
hub / github.com/ARM-software/armnn / Release

Method Release

profiling/client/src/BufferManager.cpp:98–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96}
97
98void BufferManager::Release(IPacketBufferPtr& packetBuffer)
99{
100#if !defined(ARMNN_DISABLE_THREADS)
101 std::unique_lock<std::mutex> availableListLock(m_AvailableMutex, std::defer_lock);
102#endif
103 packetBuffer->Release();
104#if !defined(ARMNN_DISABLE_THREADS)
105 availableListLock.lock();
106#endif
107 if (m_AvailableList.size() <= m_NumberOfBuffers)
108 {
109 m_AvailableList.push_back(std::move(packetBuffer));
110 }
111 else
112 {
113 // we have been handed a temporary overflow/surge buffer get rid of it
114 packetBuffer->Destroy();
115 if (m_CurrentNumberOfBuffers > m_NumberOfBuffers)
116 {
117 --m_CurrentNumberOfBuffers;
118 }
119 }
120#if !defined(ARMNN_DISABLE_THREADS)
121 availableListLock.unlock();
122#endif
123}
124
125void BufferManager::Reset()
126{

Callers

nothing calls this directly

Calls 3

push_backMethod · 0.80
sizeMethod · 0.45
DestroyMethod · 0.45

Tested by

no test coverage detected