-- PragmAda Reusable Component (PragmARC) -- Copyright (C) 2020 by PragmAda Software Engineering. All rights reserved. -- Released under the terms of the BSD 3-Clause license; see https://opensource.org/licenses -- ************************************************************************** -- -- History: -- 2020 Nov 01 J. Carter V2.0--Initial Ada-12 version ---------------------------------------------------------------------------- -- 2016 Jun 01 J. Carter V1.2--Changed comment for empty declarative part -- 2013 Oct 01 J. Carter V1.1--Added exception handler to Finalize -- 2005 Jul 01 J. Carter V1.0--Initial release -- package body PragmARC.Safety.Suspension_Objects is procedure Finalize (Object : in out Safe_Suspension_Object) is -- Empty begin -- Finalize if Object.Needs_Finalization then Ada.Synchronous_Task_Control.Set_True (Object.Unsafe.all); Object.Needs_Finalization := False; end if; exception -- Finalize when others => null; end Finalize; procedure Initialize (Object : in out Safe_Suspension_Object) is -- Empty begin -- Initialize Ada.Synchronous_Task_Control.Suspend_Until_True (Object.Unsafe.all); end Initialize; end PragmARC.Safety.Suspension_Objects;