1-- C97304B.ADA
2
3--                             Grant of Unlimited Rights
4--
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
14--     to do so.
15--
16--                                    DISCLAIMER
17--
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.
24--*
25-- CHECK THAT TASKING_ERROR IS RAISED IF THE CALLED TASK IS ABORTED
26-- BEFORE THE TIMED ENTRY CALL IS EXECUTED.
27
28-- WRG 7/13/86
29
30with Impdef;
31WITH REPORT; USE REPORT;
32PROCEDURE C97304B IS
33
34BEGIN
35
36     TEST ("C97304B", "CHECK THAT TASKING_ERROR IS RAISED IF THE " &
37                      "CALLED TASK IS ABORTED BEFORE THE TIMED " &
38                      "ENTRY CALL IS EXECUTED");
39
40     DECLARE
41
42          TASK T IS
43               ENTRY E (I : INTEGER);
44          END T;
45
46          TASK BODY T IS
47          BEGIN
48               ACCEPT E (I : INTEGER);
49               FAILED ("ENTRY CALL ACCEPTED");
50          EXCEPTION
51               WHEN OTHERS =>
52                    FAILED ("EXCEPTION RAISED");
53          END T;
54
55          FUNCTION F RETURN INTEGER IS
56          BEGIN
57               ABORT T;
58               RETURN 1;
59          END F;
60
61     BEGIN
62
63          SELECT
64               T.E (F);
65               FAILED ("TIMED ENTRY CALL MADE");
66          OR
67               DELAY 1.0 * Impdef.One_Second;
68               FAILED ("DELAY ALTERNATIVE TAKEN");
69          END SELECT;
70
71          FAILED ("EXCEPTION NOT RAISED");
72
73     EXCEPTION
74
75          WHEN TASKING_ERROR =>
76               NULL;
77          WHEN OTHERS =>
78               FAILED ("WRONG EXCEPTION RAISED");
79
80     END;
81
82     RESULT;
83
84END C97304B;
85