aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-taskin.ads
diff options
context:
space:
mode:
authorJose Ruiz <ruiz@adacore.com>2006-02-15 10:28:13 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2006-02-15 10:28:13 +0100
commit85a40c43fb6f09054f535bae43e8622c971bcc48 (patch)
treeff0fc56323a0b3142eb004ad33e55efe4c4a9b4e /gcc/ada/s-taskin.ads
parented50c9d24adb0eebefce8f67091e8505a546fee9 (diff)
downloadgcc-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.ads18
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;
---------------------------------------