summaryrefslogtreecommitdiff
path: root/gcc/ada/s-solita.adb
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-solita.adb
parented50c9d24adb0eebefce8f67091e8505a546fee9 (diff)
downloadgcc-85a40c43fb6f09054f535bae43e8622c971bcc48.tar.gz
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-solita.adb')
-rw-r--r--gcc/ada/s-solita.adb6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/s-solita.adb b/gcc/ada/s-solita.adb
index 5c4b9ed6219..2bc27932632 100644
--- a/gcc/ada/s-solita.adb
+++ b/gcc/ada/s-solita.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2006, Free Software Foundation, Inc. --
-- --
-- GNAT 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- --
@@ -185,6 +185,10 @@ package body System.Soft_Links.Tasking is
Ada.Exceptions.Save_Occurrence (EO, Excep);
end if;
+ -- There is no need for explicit protection against race conditions
+ -- for this part because it can only be executed by the environment
+ -- task after all the other tasks have been finalized.
+
if Self_Id.Common.Specific_Handler /= null then
Self_Id.Common.Specific_Handler.all (Cause, Self_Id, EO);
elsif Self_Id.Common.Fall_Back_Handler /= null then