MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / lock_pool

Method lock_pool

src/runtime/PoolManager.cpp:38–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38IMemoryPool *PoolManager::lock_pool()
39{
40 ARM_COMPUTE_ERROR_ON_MSG(_free_pools.empty() && _occupied_pools.empty(), "Haven't setup any pools!");
41
42 _sem->wait();
43 arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx);
44 ARM_COMPUTE_ERROR_ON_MSG(_free_pools.empty(), "Empty pool must exist as semaphore has been signalled");
45 _occupied_pools.splice(std::begin(_occupied_pools), _free_pools, std::begin(_free_pools));
46 return _occupied_pools.front().get();
47}
48
49void PoolManager::unlock_pool(IMemoryPool *pool)
50{

Callers 1

acquireMethod · 0.80

Calls 3

emptyMethod · 0.45
waitMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected