13.11.5 Subpool Reclamation
A subpool may be explicitly deallocated using Unchecked_Deallocate_Subpool.
Static Semantics
The following language-defined
library procedure exists:
with System.Storage_Pools.Subpools;
procedure Ada.Unchecked_Deallocate_Subpool
(Subpool :
in out System.Storage_Pools.Subpools.Subpool_Handle);
If Subpool is null, a call on Unchecked_Deallocate_Subpool
has no effect. Otherwise, the subpool is finalized, and Subpool is set
to null.
Finalization of a subpool
has the following effects:
The subpool no longer belongs to any pool;
Any of the objects allocated from the subpool that
still exist are finalized in an arbitrary order;
All of the objects allocated from the subpool cease
to exist;
The following dispatching
call is then made:
Deallocate_Subpool(Pool_of_Subpool(Subpool).all, Subpool);
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