comparison gcc/ada/libgnarl/s-taprop__vxworks.adb @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S -- 5 -- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S --
6 -- -- 6 -- --
7 -- B o d y -- 7 -- B o d y --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNARL is free software; you can redistribute it and/or modify it under -- 11 -- GNARL is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
190 ------------------- 190 -------------------
191 191
192 procedure Abort_Handler (signo : Signal) is 192 procedure Abort_Handler (signo : Signal) is
193 pragma Unreferenced (signo); 193 pragma Unreferenced (signo);
194 194
195 Self_ID : constant Task_Id := Self; 195 -- Do not call Self at this point as we're in a signal handler
196 -- and it may not be available, in particular on targets where we
197 -- support ZCX and where we don't do anything here anyway.
198 Self_ID : Task_Id;
196 Old_Set : aliased sigset_t; 199 Old_Set : aliased sigset_t;
197 Unblocked_Mask : aliased sigset_t; 200 Unblocked_Mask : aliased sigset_t;
198 Result : int; 201 Result : int;
199 pragma Warnings (Off, Result); 202 pragma Warnings (Off, Result);
200 203
205 -- exception handling mechanism. 208 -- exception handling mechanism.
206 209
207 if ZCX_By_Default then 210 if ZCX_By_Default then
208 return; 211 return;
209 end if; 212 end if;
213
214 Self_ID := Self;
210 215
211 if Self_ID.Deferral_Level = 0 216 if Self_ID.Deferral_Level = 0
212 and then Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level 217 and then Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level
213 and then not Self_ID.Aborting 218 and then not Self_ID.Aborting
214 then 219 then