Gives all memory back to the pool: oversized blocks are freed, ordinary blocks are kept for reuse (or freed too, with
free_memblocks_on_reset).
Every pointer from get is invalid afterwards. With overwrite_memory the reused blocks are filled with 0xcc first.
Safe to call on an empty pool.
pool: Pool;
defer release(*pool);
get(*pool, 100);
reset(*pool);
bytes, oversized := calculate_used_memory(pool);
assert(bytes == 0 && oversized == 0);reset :: (pool: *Pool)
Parameters
- pool: *Pool