From: Jose Ruiz Date: Tue, 31 Oct 2006 18:11:57 +0000 (+0100) Subject: s-tpobop.adb (Requeue_Call): Introduce a dispatching point when requeuing to the... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c0297c47738c415689c7098946314a1c53afdaee;p=gcc.git s-tpobop.adb (Requeue_Call): Introduce a dispatching point when requeuing to the same protected object to... 2006-10-31 Jose Ruiz * 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 --- diff --git a/gcc/ada/s-tpobop.adb b/gcc/ada/s-tpobop.adb index c65438a9789..b8bfc9a3ef9 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