File : a-taster.ads


   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 
  16 with Ada.Task_Identification;
  17 with Ada.Exceptions;
  18 
  19 package 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 
  39 end Ada.Task_Termination;