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-- This specification is derived from the Ada Reference Manual for use with --
10-- GNAT.  In accordance with the copyright of that document, you can freely --
11-- copy and modify this specification,  provided that if you redistribute a --
12-- modified version,  any changes that you have made are clearly indicated. --
13--                                                                          --
14------------------------------------------------------------------------------
15
16with Ada.Task_Identification;
17with Ada.Exceptions;
18
19package Ada.Task_Termination is
20   pragma Preelaborate (Task_Termination);
21
22   type Cause_Of_Termination is (Normal, Abnormal, Unhandled_Exception);
23
24   type Termination_Handler is access protected procedure
25     (Cause : Cause_Of_Termination;
26      T     : Ada.Task_Identification.Task_Id;
27      X     : Ada.Exceptions.Exception_Occurrence);
28
29   procedure Set_Dependents_Fallback_Handler
30     (Handler : Termination_Handler);
31   function Current_Task_Fallback_Handler return Termination_Handler;
32
33   procedure Set_Specific_Handler
34     (T       : Ada.Task_Identification.Task_Id;
35      Handler : Termination_Handler);
36   function Specific_Handler
37     (T : Ada.Task_Identification.Task_Id) return Termination_Handler;
38
39end Ada.Task_Termination;
40