]> git.ipfire.org Git - thirdparty/gcc.git/commit
s-tasini.ads, [...] (Undefer_Abortion): Handle case of Self_Id.Deferral_Level = 0.
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 3 Jan 2005 15:42:23 +0000 (16:42 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 3 Jan 2005 15:42:23 +0000 (16:42 +0100)
commite9906cbf174623cc53b32ad2a0f6d603d6f975b5
treea567f37d6620f7897e8162479e2d462ff14e3131
parentb558cbe01bfc2ace6f0ca6a38637c5bc02d4ff00
s-tasini.ads, [...] (Undefer_Abortion): Handle case of Self_Id.Deferral_Level = 0.

* s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
Self_Id.Deferral_Level = 0.
(Do_Pending_Action): Move this function to the spec.

* s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
Do_Pending_Action explicitely when needed, in case we're using
No_Abort restrictions.

* s-tassta.adb (Create_Task): If Abort is not allowed, reset the
deferral level since it will not get changed by the generated code.
Keeping a default value of 1 would prevent some operations (e.g.
select or delay) to proceed successfully.

From-SVN: r92851
gcc/ada/s-tasini.adb
gcc/ada/s-tasini.ads
gcc/ada/s-tasren.adb
gcc/ada/s-tassta.adb