Mercurial > hg > CbC > CbC_gcc
diff 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 |
line wrap: on
line diff
--- a/gcc/ada/libgnarl/s-taprop__vxworks.adb Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/ada/libgnarl/s-taprop__vxworks.adb Thu Feb 13 11:34:05 2020 +0900 @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2019, Free Software Foundation, Inc. -- -- -- -- GNARL is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -192,7 +192,10 @@ procedure Abort_Handler (signo : Signal) is pragma Unreferenced (signo); - Self_ID : constant Task_Id := Self; + -- Do not call Self at this point as we're in a signal handler + -- and it may not be available, in particular on targets where we + -- support ZCX and where we don't do anything here anyway. + Self_ID : Task_Id; Old_Set : aliased sigset_t; Unblocked_Mask : aliased sigset_t; Result : int; @@ -208,6 +211,8 @@ return; end if; + Self_ID := Self; + if Self_ID.Deferral_Level = 0 and then Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level and then not Self_ID.Aborting