1-- C95040C.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-- CHECKS THAT A TASK COMPLETED, BUT NOT TERMINATED (I.E. WAITING 26-- FOR TERMINATION OF A DEPENDENT TASK) IS NEITHER 'TERMINATED NOR 27-- 'CALLABLE. CALLS TO ENTRIES BELONGING TO SUCH A TASK RAISE 28-- TASKING_ERROR. 29 30-- J.P. ROSEN, ADA PROJECT, NYU 31-- JBG 6/1/84 32-- JWC 6/28/85 RENAMED FROM C9A009A-B.ADA 33-- PWN 9/11/94 REMOVED PRAGMA PRIORITY FOR ADA 9X 34 35WITH REPORT; USE REPORT; 36WITH SYSTEM; USE SYSTEM; 37PROCEDURE C95040C IS 38BEGIN 39 40 TEST ("C95040C", "TASKING_ERROR RAISED WHEN CALLING COMPLETED " & 41 "BUT UNTERMINATED TASK"); 42 43 DECLARE 44 45 TASK T1 IS 46 ENTRY E; 47 END T1; 48 49 TASK BODY T1 IS 50 51 TASK T2 IS 52 END T2; 53 54 TASK BODY T2 IS 55 BEGIN 56 COMMENT ("BEGIN T2"); 57 T1.E; -- T1 WILL COMPLETE BEFORE THIS CALL 58 -- OR WHILE WAITING FOR THIS CALL TO 59 -- BE ACCEPTED. WILL DEADLOCK IF 60 -- TASKING_ERROR IS NOT RAISED. 61 FAILED ("NO TASKING_ERROR RAISED"); 62 EXCEPTION 63 WHEN TASKING_ERROR => 64 IF T1'CALLABLE THEN 65 FAILED ("T1 STILL CALLABLE"); 66 END IF; 67 68 IF T1'TERMINATED THEN -- T1 CAN'T TERMINATE 69 -- UNTIL T2 HAS 70 -- TERMINATED. 71 FAILED ("T1 TERMINATED"); 72 END IF; 73 WHEN OTHERS => 74 FAILED ("WRONG EXCEPTION"); 75 END T2; 76 BEGIN 77 NULL; 78 END; 79 80 BEGIN 81 NULL; 82 END; 83 84 RESULT; 85 86END C95040C; 87