From c0297c47738c415689c7098946314a1c53afdaee Mon Sep 17 00:00:00 2001 From: Jose Ruiz Date: Tue, 31 Oct 2006 19:11:57 +0100 Subject: [PATCH] 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 --- gcc/ada/s-tpobop.adb | 6 ++++++ 1 file changed, 6 insertions(+) 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 -- 2.30.2