|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 4234 (0x108a) Types: TextFile Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2 └─ ⟦77aa8350c⟧ »DATA« └─⟦f794ecd1d⟧ └─⟦24d1ddd49⟧ └─⟦this⟧
-- The use of this system is subject to the software license terms and -- conditions agreed upon between Rational and the Customer. -- -- Copyright 1988 by Rational. -- -- RESTRICTED RIGHTS LEGEND -- -- Use, duplication, or disclosure by the Government is subject to -- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in -- Technical Data and Computer Software clause at 52.227-7013. -- -- -- Rational -- 3320 Scott Boulevard -- Santa Clara, California 95054-3197 -- -- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL; -- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION -- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS -- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF -- 1976. CREATED 1988. ALL RIGHTS RESERVED. -- -- separate (Task_Management) package body Attributes is pragma Suppress_All; function Entry_Count (For_Entry : Entry_Id) return Integer is pragma Routine_Number (Runtime_Ids.Entry_Count); Current_Task : constant Task_Id := Task_Map.Get_Current_Task_Id; Status : Mq.Stratus; Result : Mq.Queue_Length; Wait_List : Wait_List_Skin renames Current_Task.Queues.Wait_List.all; begin -- if Debug_Mode then -- Debugging.Put_Message ("Entered Entry_Count"); -- end if; -- -- if Safety_Check and then -- Mq.Wait_List_Index (Integer (For_Entry)) not in -- First_Entry_Index .. Wait_List.List'Last then -- Runtime_Exceptions.Raise_Runtime_Error -- ("Entry_Count", "entry number out of bounds", -- Err.Bad_Entry_Number, -- Current_Task => Current_Task); -- end if; Mq.Length (Wait_List.List (Mq.Wait_List_Index (For_Entry)).Wait_Queue, Status, Result); -- if Safety_Check then -- Checking.Check_Message_Queue_Status -- (Status, Err.Bad_Status_From_Length, -- Current_Task => Current_Task); -- end if; return Integer (Result); end Entry_Count; function Task_Callable (The_Task : Task_Id) return Boolean is pragma Routine_Number (Runtime_Ids.Task_Callable); Current_Task : constant Task_Id := Get_Current_Task_And_Acquire_Lock; Result : Boolean; begin -- if Debug_Mode then -- Debugging.Put_Message ("Entered Task_Callable"); -- end if; -- -- if Safety_Check then -- Checking.Check_Task (The_Task, "Task_Callable", -- Current_Task => Current_Task); -- end if; Result := not (The_Task.Action_State (Non_Callable)); Release_Lock; return Result; end Task_Callable; function Task_Terminated (The_Task : Task_Id) return Boolean is pragma Routine_Number (Runtime_Ids.Task_Terminated); Current_Task : constant Task_Id := Get_Current_Task_And_Acquire_Lock; Result : Boolean; begin -- if Debug_Mode then -- Debugging.Put_Message ("Entered Task_Terminated"); -- end if; -- -- if Safety_Check then -- Checking.Check_Task (The_Task, "Task_Terminated", -- Current_Task => Current_Task); -- end if; Result := The_Task.Suspension_State = Terminated; Release_Lock; return Result; end Task_Terminated; function Stack_Size (For_Task : Task_Id) return Integer is pragma Routine_Number (Runtime_Ids.Task_Stack_Size); begin -- if Debug_Mode then -- Debugging.Put_Message ("Entered Stack_Size"); -- end if; -- -- if Safety_Check then -- Checking.Check_Task (For_Task, "Stack_Size", -- Current_Task => Current_Task); -- end if; return For_Task.Stack_Bounds.Size; end Stack_Size; end Attributes; pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit, Elab_Routine_Number => Runtime_Ids.Internal);