Spec-Zone.ru › Ada 2012
Справочник по Ada 2012

13.11.5 Освобождение подпула

Подпул может быть явно освобожден с помощью Unchecked_Deallocate_Subpool.

Статическая семантика

Существует следующая определенная языком библиотечная процедура:
with System.Storage_Pools.Subpools;
procedure Ada.Unchecked_Deallocate_Subpool
(Subpool : in out System.Storage_Pools.Subpools.Subpool_Handle);
Если Subpool равно null, вызов Unchecked_Deallocate_Subpool не имеет эффекта. В противном случае подпул завершает свою работу, и Subpool устанавливается в null.
Завершение работы подпула влечёт за собой следующие последствия:
  • Подпул больше не принадлежит ни одному пулу;
  • Любые объекты, выделенные из подпула и всё ещё существующие, завершают свою работу в произвольном порядке;
  • Все объекты, выделенные из подпула, перестают существовать;
  • Затем выполняется следующий вызов диспетчеризации:
Deallocate_Subpool(Pool_of_Subpool(Subpool).all, Subpool);
Завершение работы объекта Root_Storage_Pool_With_Subpools завершает работу всех подпулов, принадлежащих этому пулу, которые ещё не завершены.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API