1-- C97120A.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 A SELECTIVE WAIT DELAYS AT LEAST AS LONG AS IS SPECIFIED 26-- IN A DELAY ALTERNATIVE. 27 28-- WRG 7/11/86 29 30with Impdef; 31WITH REPORT; USE REPORT; 32WITH CALENDAR; USE CALENDAR; 33PROCEDURE C97120A IS 34 35BEGIN 36 37 TEST ("C97120A", "CHECK THAT A SELECTIVE WAIT DELAYS AT LEAST " & 38 "AS LONG AS IS SPECIFIED IN A DELAY ALTERNATIVE"); 39 40 DECLARE 41 42 TASK T IS 43 ENTRY NO_GO; 44 ENTRY SYNCH; 45 END T; 46 47 TASK BODY T IS 48 BEFORE, AFTER : TIME; 49 BEGIN 50 -- ENSURE THAT SYNCH HAS BEEN CALLED BEFORE PROCEEDING: 51 WHILE SYNCH'COUNT = 0 LOOP 52 DELAY 1.0 * Impdef.One_Second; 53 END LOOP; 54 55 BEFORE := CLOCK; 56 SELECT 57 ACCEPT NO_GO; 58 FAILED ("ACCEPTED NONEXISTENT ENTRY CALL"); 59 OR 60 DELAY 10.0 * Impdef.One_Second; 61 AFTER := CLOCK; 62 IF AFTER - BEFORE < 10.0 * Impdef.One_Second THEN 63 FAILED ("INSUFFICIENT DELAY"); 64 END IF; 65 END SELECT; 66 67 ACCEPT SYNCH; 68 EXCEPTION 69 WHEN OTHERS => 70 FAILED ("EXCEPTION RAISED"); 71 END T; 72 73 BEGIN 74 75 T.SYNCH; -- SUSPEND MAIN TASK BEFORE READING CLOCK. 76 77 END; 78 79 RESULT; 80 81END C97120A; 82