summaryrefslogtreecommitdiff
path: root/gcc/ada/s-tasini.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/s-tasini.ads')
-rw-r--r--gcc/ada/s-tasini.ads35
1 files changed, 11 insertions, 24 deletions
diff --git a/gcc/ada/s-tasini.ads b/gcc/ada/s-tasini.ads
index 56381c60bcf..1128739e8a2 100644
--- a/gcc/ada/s-tasini.ads
+++ b/gcc/ada/s-tasini.ads
@@ -6,9 +6,9 @@
-- --
-- S p e c --
-- --
--- $Revision: 1.24 $
+-- $Revision$
-- --
--- Copyright (C) 1992-1999, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2001, 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- --
@@ -29,32 +29,18 @@
-- covered by the GNU Public License. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. It is --
--- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
--- State University (http://www.gnat.com). --
+-- now maintained by Ada Core Technologies, Inc. (http://www.gnat.com). --
-- --
------------------------------------------------------------------------------
-- This package provides overall initialization of the tasking portion of the
-- RTS. This package must be elaborated before any tasking features are used.
--- It also contains initialization for Ada Task Control Block (ATCB) records.
package System.Tasking.Initialization is
procedure Remove_From_All_Tasks_List (T : Task_ID);
-- Remove T from All_Tasks_List.
-
- ------------------------------------------------
- -- Static (Compile-Time) Configuration Flags --
- ------------------------------------------------
-
- -- ?????
- -- Maybe this does not belong here? Where else?
- -- For now, it is here because so is Change_Base_Priority,
- -- and the two are used together.
-
- Dynamic_Priority_Support : constant Boolean := True;
- -- Should we poll for pending base priority changes at every
- -- abort completion point?
+ -- Call this function with RTS_Lock taken.
---------------------------------
-- Tasking-Specific Soft Links --
@@ -89,9 +75,7 @@ package System.Tasking.Initialization is
-- 1) base priority changes
- -- 2) exceptions that need to be raised
-
- -- 3) abort/ATC
+ -- 2) abort/ATC
-- Abort deferral MAY be nested (Self_ID.Deferral_Level is a count),
-- but to avoid waste and undetected errors, it generally SHOULD NOT
@@ -119,10 +103,10 @@ package System.Tasking.Initialization is
-- deferred, and do not modify the deferral level.
-- There is also a set of non-linable defer/undefer routines,
- -- for direct call from the compiler. These are not in-lineable
+ -- for direct call from the compiler. These are not in-lineable
-- because they may need to be called via pointers ("soft links").
-- For the sake of efficiency, the version with Self_ID as parameter
- -- should used wherever possible. These are all nestable.
+ -- should used wherever possible. These are all nestable.
-- Non-nestable inline versions --
@@ -141,7 +125,7 @@ package System.Tasking.Initialization is
pragma Inline (Undefer_Abort_Nestable);
-- NON-INLINE versions without Self_ID for code generated by the
- -- expander and for hard links
+ -- expander and for soft links
procedure Defer_Abortion;
procedure Undefer_Abortion;
@@ -172,7 +156,10 @@ package System.Tasking.Initialization is
----------------------
procedure Task_Lock (Self_ID : Task_ID);
+ pragma Inline (Task_Lock);
+
procedure Task_Unlock (Self_ID : Task_ID);
+ pragma Inline (Task_Unlock);
-- These are versions of Lock_Task and Unlock_Task created for use
-- within the GNARL.