diff options
author | Jose Ruiz <ruiz@adacore.com> | 2006-10-31 19:11:57 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2006-10-31 19:11:57 +0100 |
commit | c0297c47738c415689c7098946314a1c53afdaee (patch) | |
tree | a36042cc3adece3ba97ff82823b8989e6be471d3 /gcc/ada | |
parent | 15b540bec80c476a2a37f639a25797357f0172f3 (diff) | |
download | gcc-c0297c47738c415689c7098946314a1c53afdaee.zip gcc-c0297c47738c415689c7098946314a1c53afdaee.tar.gz gcc-c0297c47738c415689c7098946314a1c53afdaee.tar.bz2 |
s-tpobop.adb (Requeue_Call): Introduce a dispatching point when requeuing to the same protected object to...
2006-10-31 Jose Ruiz <ruiz@adacore.com>
* s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
requeuing to the same protected object to give higher priority tasks
the opportunity to execute.
From-SVN: r118318
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/s-tpobop.adb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/s-tpobop.adb b/gcc/ada/s-tpobop.adb index c65438a..b8bfc9a 100644 --- a/gcc/ada/s-tpobop.adb +++ b/gcc/ada/s-tpobop.adb @@ -755,6 +755,12 @@ package body System.Tasking.Protected_Objects.Operations is else -- Requeue is to same protected object + -- ??? Try to compensate apparent failure of the + -- scheduler on some OS (e.g VxWorks) to give higher + -- priority tasks a chance to run (see CXD6002). + + STPO.Yield (False); + if Entry_Call.Requeue_With_Abort and then Entry_Call.Cancellation_Attempted then |