diff options
author | Jose Ruiz <ruiz@adacore.com> | 2006-02-15 10:28:13 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2006-02-15 10:28:13 +0100 |
commit | 85a40c43fb6f09054f535bae43e8622c971bcc48 (patch) | |
tree | ff0fc56323a0b3142eb004ad33e55efe4c4a9b4e /gcc/ada/s-taskin.ads | |
parent | ed50c9d24adb0eebefce8f67091e8505a546fee9 (diff) | |
download | gcc-85a40c43fb6f09054f535bae43e8622c971bcc48.zip gcc-85a40c43fb6f09054f535bae43e8622c971bcc48.tar.gz gcc-85a40c43fb6f09054f535bae43e8622c971bcc48.tar.bz2 |
a-taster.adb (Current_Task_Fallback_Handler): Document why explicit protection against race conditions is not needed.
2006-02-13 Jose Ruiz <ruiz@adacore.com>
* a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
protection against race conditions is not needed.
(Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
fallback handler.
(Set_Specific_Handler): Add mutual exclusive access to the specific
handler.
(Specific_Handler): Add mutual exclusive access for retrieving the
specific handler.
* s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
back handler.
* s-taskin.ads (Common_ATCB): Remove pragma Atomic for
Fall_Back_Handler and Specific_Handler.
* s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
termination handlers.
Set two different owerflow depending on the maximal stack size.
* s-solita.adb (Task_Termination_Handler_T): Document why explicit
protection against race conditions is not needed when executing the
task termination handler.
From-SVN: r111022
Diffstat (limited to 'gcc/ada/s-taskin.ads')
-rw-r--r-- | gcc/ada/s-taskin.ads | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/gcc/ada/s-taskin.ads b/gcc/ada/s-taskin.ads index da8b800..26994ef 100644 --- a/gcc/ada/s-taskin.ads +++ b/gcc/ada/s-taskin.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2006, 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- -- @@ -353,9 +353,9 @@ package System.Tasking is -- raised by by the execution of its task_body. type Termination_Handler is access protected procedure - (Cause : in Cause_Of_Termination; - T : in Task_Id; - X : in Ada.Exceptions.Exception_Occurrence); + (Cause : Cause_Of_Termination; + T : Task_Id; + X : Ada.Exceptions.Exception_Occurrence); -- Used to represent protected procedures to be executed when task -- terminates. @@ -375,7 +375,7 @@ package System.Tasking is function Detect_Blocking return Boolean; pragma Inline (Detect_Blocking); - -- Return whether the Detect_Blocking pragma is enabled. + -- Return whether the Detect_Blocking pragma is enabled ---------------------------------------------- -- Ada_Task_Control_Block (ATCB) definition -- @@ -571,7 +571,7 @@ package System.Tasking is -- Task_Info pragma. Analyzer : System.Stack_Usage.Stack_Analyzer; - -- For storing informations used to measure the stack usage. + -- For storing informations used to measure the stack usage Global_Task_Lock_Nesting : Natural; -- This is the current nesting level of calls to @@ -583,18 +583,16 @@ package System.Tasking is -- Protection: Only accessed by Self Fall_Back_Handler : Termination_Handler; - pragma Atomic (Fall_Back_Handler); -- This is the fall-back handler that applies to the dependent tasks of -- the task. -- - -- Protection: atomic access + -- Protection: Self.L Specific_Handler : Termination_Handler; - pragma Atomic (Specific_Handler); -- This is the specific handler that applies only to this task, and not -- any of its dependent tasks. -- - -- Protection: atomic access + -- Protection: Self.L end record; --------------------------------------- |