+2019-08-12 Jerome Lambourg <lambourg@adacore.com>
+
+ * libgnarl/s-taprop__vxworks.adb (Abort_Handler): Only call
+ s-tpopsp.Self when actually needed.
+
2019-08-12 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Discrete_Range_Check): Return if checks are
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;
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