| 59 | } |
| 60 | |
| 61 | void PoolManager::register_pool(std::unique_ptr<IMemoryPool> pool) |
| 62 | { |
| 63 | arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx); |
| 64 | ARM_COMPUTE_ERROR_ON_MSG(!_occupied_pools.empty(), "All pools should be free in order to register a new one!"); |
| 65 | |
| 66 | // Set pool |
| 67 | _free_pools.push_front(std::move(pool)); |
| 68 | |
| 69 | // Update semaphore |
| 70 | _sem = std::make_unique<arm_compute::Semaphore>(_free_pools.size()); |
| 71 | } |
| 72 | |
| 73 | std::unique_ptr<IMemoryPool> PoolManager::release_pool() |
| 74 | { |