1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT RUN-TIME COMPONENTS                         --
4--                                                                          --
5--                 A D A . T A S K _ T E R M I N A T I O N                  --
6--                                                                          --
7--                                 S p e c                                  --
8--                                                                          --
9--            Copyright (C) 2005, Free Software Foundation, Inc.            --
10--                                                                          --
11-- This specification is derived from the Ada Reference Manual for use with --
12-- GNAT. The copyright notice above, and the license provisions that follow --
13-- apply solely to the  contents of the part following the private keyword. --
14--                                                                          --
15-- GNAT was originally developed  by the GNAT team at  New York University. --
16-- Extensive contributions were provided by Ada Core Technologies Inc.      --
17--                                                                          --
18------------------------------------------------------------------------------
19
20with Ada.Task_Identification;
21with Ada.Exceptions;
22
23package Ada.Task_Termination is
24   pragma Preelaborate (Task_Termination);
25
26   type Cause_Of_Termination is (Normal, Abnormal, Unhandled_Exception);
27
28   type Termination_Handler is access protected procedure
29     (Cause : Cause_Of_Termination;
30      T     : Ada.Task_Identification.Task_Id;
31      X     : Ada.Exceptions.Exception_Occurrence);
32
33   procedure Set_Dependents_Fallback_Handler
34     (Handler : Termination_Handler);
35   function Current_Task_Fallback_Handler return Termination_Handler;
36
37   procedure Set_Specific_Handler
38     (T       : Ada.Task_Identification.Task_Id;
39      Handler : Termination_Handler);
40   function Specific_Handler
41     (T : Ada.Task_Identification.Task_Id) return Termination_Handler;
42
43end Ada.Task_Termination;
44