Ada Programming/Libraries/Ada.Task_Termination


This language feature is only available from Ada 2005 on.

Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

Ada.Task_Termination is a unit of the Predefined Language Environment since Ada 2005.

Specification edit

--                     Standard Ada library specification
--   Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com>
--   Copyright (c) 2004-2016 AXE Consultants
--   Copyright (c) 2004, 2005, 2006 Ada-Europe
--   Copyright (c) 2000 The MITRE Corporation, Inc.
--   Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
--   SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-- -------------------------------------------------------------------------

with Ada.Task_Identification;
with Ada.Exceptions;

package Ada.Task_Termination is
   pragma Preelaborate(Task_Termination);

   type Cause_Of_Termination is (Normal, Abnormal, Unhandled_Exception);

   type Termination_Handler is access protected procedure
     (Cause : in Cause_Of_Termination;
      T     : in Ada.Task_Identification.Task_Id;
      X     : in Ada.Exceptions.Exception_Occurrence);

   procedure Set_Dependents_Fallback_Handler
     (Handler: in Termination_Handler);

   function Current_Task_Fallback_Handler return Termination_Handler;

   procedure Set_Specific_Handler
     (T       : in Ada.Task_Identification.Task_Id;
      Handler : in Termination_Handler);

   function Specific_Handler (T : Ada.Task_Identification.Task_Id)
                             return Termination_Handler;

end Ada.Task_Termination;

See also edit

Wikibook edit

External examples edit

Ada Reference Manual edit

Ada 2005 edit

Ada 2012 edit

Open-Source Implementations edit

FSF GNAT

drake