-- C94004A.ADA
|
-- C94004A.ADA
|
|
|
-- Grant of Unlimited Rights
|
-- Grant of Unlimited Rights
|
--
|
--
|
-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
|
-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
|
-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
|
-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
|
-- unlimited rights in the software and documentation contained herein.
|
-- unlimited rights in the software and documentation contained herein.
|
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
|
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
|
-- this public release, the Government intends to confer upon all
|
-- this public release, the Government intends to confer upon all
|
-- recipients unlimited rights equal to those held by the Government.
|
-- recipients unlimited rights equal to those held by the Government.
|
-- These rights include rights to use, duplicate, release or disclose the
|
-- These rights include rights to use, duplicate, release or disclose the
|
-- released technical data and computer software in whole or in part, in
|
-- released technical data and computer software in whole or in part, in
|
-- any manner and for any purpose whatsoever, and to have or permit others
|
-- any manner and for any purpose whatsoever, and to have or permit others
|
-- to do so.
|
-- to do so.
|
--
|
--
|
-- DISCLAIMER
|
-- DISCLAIMER
|
--
|
--
|
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
|
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
|
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
|
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
|
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
|
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
|
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
|
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
|
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
|
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
|
-- PARTICULAR PURPOSE OF SAID MATERIAL.
|
-- PARTICULAR PURPOSE OF SAID MATERIAL.
|
--*
|
--*
|
-- CHECK THAT A MAIN PROGRAM TERMINATES WITHOUT WAITING FOR TASKS THAT
|
-- CHECK THAT A MAIN PROGRAM TERMINATES WITHOUT WAITING FOR TASKS THAT
|
-- DEPEND ON A LIBRARY PACKAGE AND THAT SUCH TASKS ARE NOT TERMINATED BY
|
-- DEPEND ON A LIBRARY PACKAGE AND THAT SUCH TASKS ARE NOT TERMINATED BY
|
-- MAIN PROGRAM TERMINATION.
|
-- MAIN PROGRAM TERMINATION.
|
|
|
-- CASE A: TASK OBJECT DECLARED IN LIBRARY PACKAGE USED BY MAIN
|
-- CASE A: TASK OBJECT DECLARED IN LIBRARY PACKAGE USED BY MAIN
|
-- PROGRAM.
|
-- PROGRAM.
|
|
|
-- JRK 10/8/81
|
-- JRK 10/8/81
|
-- SPS 11/21/82
|
-- SPS 11/21/82
|
-- JBG 12/6/84
|
-- JBG 12/6/84
|
-- JRK 11/21/85 RENAMED FROM C94004A-B.ADA; REVISED ACCORDING TO
|
-- JRK 11/21/85 RENAMED FROM C94004A-B.ADA; REVISED ACCORDING TO
|
-- AI-00399.
|
-- AI-00399.
|
-- JRK 10/24/86 RENAMED FROM E94004A-B.ADA; REVISED ACCORDING TO
|
-- JRK 10/24/86 RENAMED FROM E94004A-B.ADA; REVISED ACCORDING TO
|
-- REVISED AI-00399.
|
-- REVISED AI-00399.
|
-- PWN 09/11/94 REMOVED PRAGMA PRIORITY FOR ADA 9X.
|
-- PWN 09/11/94 REMOVED PRAGMA PRIORITY FOR ADA 9X.
|
|
|
WITH SYSTEM; USE SYSTEM;
|
WITH SYSTEM; USE SYSTEM;
|
PACKAGE C94004A_PKG IS
|
PACKAGE C94004A_PKG IS
|
|
|
TASK TYPE TT IS
|
TASK TYPE TT IS
|
ENTRY E;
|
ENTRY E;
|
END TT;
|
END TT;
|
|
|
END C94004A_PKG;
|
END C94004A_PKG;
|
|
|
with Impdef;
|
with Impdef;
|
WITH REPORT; USE REPORT;
|
WITH REPORT; USE REPORT;
|
PRAGMA ELABORATE (REPORT);
|
PRAGMA ELABORATE (REPORT);
|
PACKAGE BODY C94004A_PKG IS
|
PACKAGE BODY C94004A_PKG IS
|
|
|
TASK BODY TT IS
|
TASK BODY TT IS
|
I : INTEGER := IDENT_INT (120);
|
I : INTEGER := IDENT_INT (120);
|
BEGIN
|
BEGIN
|
ACCEPT E;
|
ACCEPT E;
|
COMMENT ("DELAY LIBRARY TASK FOR TWO MINUTES");
|
COMMENT ("DELAY LIBRARY TASK FOR TWO MINUTES");
|
DELAY DURATION(I) * Impdef.One_Second;
|
DELAY DURATION(I) * Impdef.One_Second;
|
-- MAIN PROGRAM SHOULD NOW BE TERMINATED.
|
-- MAIN PROGRAM SHOULD NOW BE TERMINATED.
|
RESULT;
|
RESULT;
|
END TT;
|
END TT;
|
|
|
END C94004A_PKG;
|
END C94004A_PKG;
|
|
|
WITH C94004A_PKG; USE C94004A_PKG;
|
WITH C94004A_PKG; USE C94004A_PKG;
|
PRAGMA ELABORATE (C94004A_PKG);
|
PRAGMA ELABORATE (C94004A_PKG);
|
PACKAGE C94004A_TASK IS
|
PACKAGE C94004A_TASK IS
|
T : TT;
|
T : TT;
|
END;
|
END;
|
|
|
WITH SYSTEM; USE SYSTEM;
|
WITH SYSTEM; USE SYSTEM;
|
WITH REPORT; USE REPORT;
|
WITH REPORT; USE REPORT;
|
WITH C94004A_TASK;
|
WITH C94004A_TASK;
|
PROCEDURE C94004A IS
|
PROCEDURE C94004A IS
|
|
|
|
|
BEGIN
|
BEGIN
|
TEST ("C94004A", "CHECK THAT A MAIN PROGRAM TERMINATES " &
|
TEST ("C94004A", "CHECK THAT A MAIN PROGRAM TERMINATES " &
|
"WITHOUT WAITING FOR TASKS THAT DEPEND " &
|
"WITHOUT WAITING FOR TASKS THAT DEPEND " &
|
"ON A LIBRARY PACKAGE AND THAT SUCH TASKS " &
|
"ON A LIBRARY PACKAGE AND THAT SUCH TASKS " &
|
"CONTINUE TO EXECUTE");
|
"CONTINUE TO EXECUTE");
|
|
|
COMMENT ("THE INVOKING SYSTEM'S JOB CONTROL LOG MUST BE " &
|
COMMENT ("THE INVOKING SYSTEM'S JOB CONTROL LOG MUST BE " &
|
"EXAMINED TO SEE IF THIS TEST REALLY TERMINATES");
|
"EXAMINED TO SEE IF THIS TEST REALLY TERMINATES");
|
|
|
C94004A_TASK.T.E; -- ALLOW TASK TO PROCEED.
|
C94004A_TASK.T.E; -- ALLOW TASK TO PROCEED.
|
IF C94004A_TASK.T'TERMINATED THEN
|
IF C94004A_TASK.T'TERMINATED THEN
|
FAILED ("LIBRARY DECLARED TASK PREMATURELY TERMINATED");
|
FAILED ("LIBRARY DECLARED TASK PREMATURELY TERMINATED");
|
END IF;
|
END IF;
|
|
|
-- RESULT PROCEDURE IS CALLED BY LIBRARY TASK.
|
-- RESULT PROCEDURE IS CALLED BY LIBRARY TASK.
|
|
|
END C94004A;
|
END C94004A;
|
|
|