+2009-08-08 Laurent GUERBY <laurent@guerby.net>
+
+ * ada/acats/support/impdef.a: Tweak timing constants. Add
+ Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
+ * ada/acats/tests/c9/c940005.a: Use new timing constants.
+ * ada/acats/tests/c9/c940007.a: Likewise.
+ * ada/acats/tests/c9/c94001c.ada: Likewise.
+ * ada/acats/tests/c9/c94006a.ada: Likewise.
+ * ada/acats/tests/c9/c94008c.ada: Likewise.
+ * ada/acats/tests/c9/c951002.a: Likewise.
+ * ada/acats/tests/c9/c954a01.a: Likewise.
+ * ada/acats/tests/c9/c96001a.ada: Likewise.
+ * ada/acats/tests/c9/c97307a.ada: Likewise.
+
2009-08-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40999
Minimum_Task_Switch : constant Duration := 0.001;
-- ^^^ --- MODIFY HERE AS NEEDED
+ Long_Minimum_Task_Switch : constant Duration := 0.1;
+
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
-- This is the time required to activate another task and allow it
Switch_To_New_Task : constant Duration := 0.001;
-- ^^^ -- MODIFY HERE AS NEEDED
+ Long_Switch_To_New_Task : constant Duration := 0.1;
+
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
-- This is the time which will clear the queues of other tasks
-- waiting to run. It is expected that this will be about five
-- times greater than Switch_To_New_Task.
- Clear_Ready_Queue : constant Duration := 1.1;
+ Clear_Ready_Queue : constant Duration := 0.1;
-- ^^^ --- MODIFY HERE AS NEEDED
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====--
-- In reality one would expect a time of 5 to 10 seconds. In
-- the interests of speeding up the test suite a shorter time
-- is used
- Pulse_Time_Delta : constant duration := ImpDef.Switch_To_New_Task;
+ Pulse_Time_Delta : constant duration := ImpDef.Long_Switch_To_New_Task;
-- control over stopping tasks
protected Control is
-- In reality one would expect a time of 5 to 10 seconds. In
-- the interests of speeding up the test suite a shorter time
-- is used
- Pulse_Time_Delta : constant duration := ImpDef.Switch_To_New_Task;
+ Pulse_Time_Delta : constant duration := ImpDef.Long_Switch_To_New_Task;
-- control over stopping tasks
BEGIN -- (E)
WHILE NOT(OUT_TSK'TERMINATED) AND DELAY_COUNT < 60 LOOP
- DELAY 1.0 * Impdef.One_Second;
+ DELAY 1.0 * Impdef.One_Long_Second;
DELAY_COUNT := DELAY_COUNT + 1;
END LOOP;
IF DELAY_COUNT = 60 THEN
BEGIN
WHILE NOT(OUT_TSK'TERMINATED) AND DELAY_COUNT < 60 LOOP
- DELAY 1.0 * Impdef.One_Second;
+ DELAY 1.0 * Impdef.One_Long_Second;
DELAY_COUNT := DELAY_COUNT + 1;
END LOOP;
IF DELAY_COUNT = 60 THEN
SELECT
ACCEPT E;
OR
- DELAY 30.0 * Impdef.One_Second;
+ DELAY 30.0 * Impdef.One_Long_Second;
END SELECT;
END TT;
DELAY 10.0 * Impdef.One_Second;
IF TERMINATE_COUNT.GET /= 1 THEN
- DELAY 20.0 * Impdef.One_Second;
+ DELAY 20.0 * Impdef.One_Long_Second;
END IF;
IF TERMINATE_COUNT.GET /= 1 THEN
DELAY 10.0 * Impdef.One_Second; -- WAIT FOR T1, T2, AND T3 TO GET TO SELECT STMTS.
IF TERMINATE_COUNT.GET /= 3 THEN
- DELAY 20.0 * Impdef.One_Second;
+ DELAY 20.0 * Impdef.One_Long_Second;
END IF;
IF TERMINATE_COUNT.GET /= 3 THEN
-- Wait until the message is queued on the entry before starting
-- the Credit_Task
while not Hold.TC_Message_is_Queued loop
- delay ImpDef.Minimum_Task_Switch;
+ delay ImpDef.Long_Minimum_Task_Switch;
end loop;
--
Credit_Task.TC_Start;
-- Ensure the first part of the test is complete before continuing
while not (Credit_Message'terminated and Credit_Task'terminated) loop
- delay ImpDef.Minimum_Task_Switch;
+ delay ImpDef.Long_Minimum_Task_Switch;
end loop;
--======================================================
-- for it to reach the accept statement and call Hold.Set_DB_Overload
-- before starting Debit_Message
--
- delay ImpDef.Switch_To_New_Task;
+ delay ImpDef.Long_Switch_To_New_Task;
Debit_Message.TC_Start;
while not Debit_Task'terminated loop
- delay ImpDef.Minimum_Task_Switch;
+ delay ImpDef.Long_Minimum_Task_Switch;
end loop;
Hold.Clear_DB_Overload; -- Allow completion
end select;
-- Allow other tasks to get control
- delay ImpDef.Minimum_Task_Switch;
+ delay ImpDef.Long_Minimum_Task_Switch;
end loop;
procedure C954A01 is
- Long_Enough : constant Duration := ImpDef.Switch_To_New_Task;
+ Long_Enough : constant Duration := ImpDef.Long_Switch_To_New_Task;
--==============================================--
---------------------------------------------
DECLARE -- (A)
- X : DURATION := 5.0;
+ X : DURATION := 5.0 * Impdef.One_Second;
OLD_TIME : TIME;
LAPSE : DURATION;
BEGIN -- (A)
EXPIRED.READ (EXPIRED_CALLS);
EXIT WHEN E'COUNT >= DESIRED_QUEUE_LENGTH -
EXPIRED_CALLS;
- DELAY 2.0 * Impdef.One_Second;
+ DELAY 2.0 * Impdef.One_Long_Second;
END LOOP;
EXIT WHEN DESIRED_QUEUE_LENGTH = 5;
DISPATCH.READY;
-- LET THE TIMED ENTRY CALLS ISSUED BY CALLER1,
-- CALLER3, AND CALLER5 EXPIRE:
- DELAY DELAY_TIME + 10.0 * Impdef.One_Second;
+ DELAY DELAY_TIME + 10.0 * Impdef.One_Long_Second;
-- AT THIS POINT, ALL THE TIMED ENTRY CALLS MUST HAVE
-- EXPIRED AND BEEN REMOVED FROM THE ENTRY QUEUE FOR E,