Subpool Reclamation
Author: JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor

Ada Reference Manual — Legal Information

# 13.11.5 Subpool Reclamation

1/3
A subpool may be explicitly deallocated using Unchecked_Deallocate_Subpool.

#### Static Semantics

2/3
The following language-defined library procedure exists:
3/3
with System.Storage_Pools.Subpools;
procedure Ada.Unchecked_Deallocate_Subpool
(Subpool : in out System.Storage_Pools.Subpools.Subpool_Handle);
4/3
If Subpool is null, a call on Unchecked_Deallocate_Subpool has no effect. Otherwise, the subpool is finalized, and Subpool is set to null.
5/3
Finalization of a subpool has the following effects:
6/3
The subpool no longer belongs to any pool;
7/3
Any of the objects allocated from the subpool that still exist are finalized in an arbitrary order;
8/3
The following dispatching call is then made:
9/3
Deallocate_Subpool(Pool_of_Subpool(Subpool).all, Subpool);
10/3
Finalization of a Root_Storage_Pool_With_Subpools object finalizes all subpools that belong to that pool that have not yet been finalized.

Ada 2005 and 2012 Editions sponsored in part by Ada-Europe