3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
25 -- CHECK THAT A NON-MASTER UNIT, WHICH ALLOCATES TASKS OF A GLOBAL
26 -- ACCESS TYPE, MUST TERMINATE WITHOUT WAITING FOR THE ALLOCATED TASKS
30 -- (A) A SIMPLE TASK ALLOCATOR, IN A BLOCK.
31 -- (B) A RECORD OF TASK ALLOCATOR, IN A SUBPROGRAM.
32 -- (C) A RECORD OF ARRAY OF TASK ALLOCATOR, IN A TASK BODY.
38 -- TBN 1/20/86 RENAMED FROM C94006A-B.ADA. LOWERED THE DELAY VALUES
39 -- AND MODIFIED THE COMMENTS.
40 -- JRK 5/1/86 IMPROVED ERROR RECOVERY LOGIC.
41 -- PWN 09/11/94 REMOVED PRAGMA PRIORITY FOR ADA 9X.
44 WITH REPORT
; USE REPORT
;
45 WITH SYSTEM
; USE SYSTEM
;
60 TEST
("C94002E", "CHECK THAT A NON-MASTER UNIT, WHICH ALLOCATES " &
61 "TASKS OF A GLOBAL ACCESS TYPE, MUST TERMINATE " &
62 "WITHOUT WAITING FOR THE ALLOCATED TASKS TO " &
65 --------------------------------------------------
69 TYPE A_T
IS ACCESS TT
;
82 IF A1
.ALL'TERMINATED THEN
83 FAILED
("ALLOCATED TASK PREMATURELY TERMINATED - (A)");
89 --------------------------------------------------
95 FUNCTION F
RETURN INTEGER IS
101 TYPE ART
IS ACCESS RT
;
104 PROCEDURE P
(AR
: OUT ART
) IS
115 IF AR1
.T
'TERMINATED THEN
116 FAILED
("ALLOCATED TASK PREMATURELY TERMINATED " &
130 --------------------------------------------------
134 LOOP_COUNT
: INTEGER := 0;
135 CUT_OFF
: CONSTANT := 60; -- DELAY.
143 LOOP_COUNT1
: INTEGER := 0;
144 CUT_OFF1
: CONSTANT := 60; -- DELAY.
147 TYPE ARAT
IS ACCESS RAT
;
148 TYPE ARR
IS ARRAY (1..1) OF TT
;
157 ENTRY ENT1
(ARA
: OUT ARAT
);
165 ACCEPT ENT1
(ARA
: OUT ARAT
) DO
173 WHILE NOT TSK1
'TERMINATED AND LOOP_COUNT1
< CUT_OFF1
LOOP
174 DELAY 1.0 * Impdef
.One_Second
;
175 LOOP_COUNT1
:= LOOP_COUNT1
+ 1;
178 IF LOOP_COUNT1
>= CUT_OFF1
THEN
179 FAILED
("DEPENDENT TASK TSK1 NOT TERMINATED " &
180 "WITHIN ONE MINUTE - (C)");
183 IF ARA1
.T
(1)'TERMINATED THEN
184 FAILED
("ALLOCATED TASK PREMATURELY TERMINATED " &
192 WHILE NOT TSK
'TERMINATED AND LOOP_COUNT
< CUT_OFF
LOOP
193 DELAY 2.0 * Impdef
.One_Second
;
194 LOOP_COUNT
:= LOOP_COUNT
+ 1;
197 IF LOOP_COUNT
>= CUT_OFF
THEN
198 FAILED
("DEPENDENT TASK TSK NOT TERMINATED WITHIN " &
199 "TWO MINUTES - (C)");
204 --------------------------------------------------