|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Initialize_Rcf, seg_0064ca
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Debug_Tools; with Directory_Tools; with Error_Reporting; with Io; with Log; with Error_Reporting; with Profile; with Program; with Simple_Status; with String_Utilities; with System_Utilities; procedure Initialize_Rcf (Target_File_Name : String := "!Machine.Rcf_Targets") is Target_File : Io.File_Type; Register_Context : constant String := "!Targets.Implementation.Rcf_Customization"; Job : Program.Job_Id; Condition : Program.Condition; Rcf_Name : constant String := "Rcf_Compiler"; Delay_Count : Natural := 0; Rcf_Compiler_Failure : exception; use Directory_Tools; begin Program.Create_Job ("""!Targets.Implementation.Rcf_User_Interface'Spec_View.Units"".Start_Rcf_Main", Job, Condition, Options => "output => !Machine.Error_Logs.Rcf_Compiler_Log"); if Program.Started_Successfully (Condition) then while String_Utilities.Locate (Rcf_Name, System_Utilities.Job_Name (Job)) = 0 loop Delay_Count := Delay_Count + 1; if Delay_Count > 60 then raise Rcf_Compiler_Failure; end if; delay 2.0; end loop; Log.Put_Line ("Rcf Compiler Started", Profile.Positive_Msg); else raise Rcf_Compiler_Failure; end if; if Object.Is_Ok (The_Object => Naming.Resolution (Target_File_Name)) then Io.Open (File => Target_File, Mode => Io.In_File, Name => Target_File_Name); while not Io.End_Of_File (Target_File) loop declare Stripped_Target : constant String := String_Utilities.Strip (Io.Get_Line (Target_File)); begin Program.Create_Job (Program.Current (Subsystem => Register_Context & "." & Stripped_Target, Unit => Stripped_Target & ".Register", Activity => "!Machine.Release.Current.Activity"), Job, Condition, Context => Register_Context); if Program.Started_Successfully (Condition) then Program.Wait_For (Job); Log.Put_Line ("Registered Rcf target " & Stripped_Target); else Log.Put_Line ("Failed To Register", Profile.Error_Msg); Error_Reporting.Report_Error (Caller => "!Machine.Initialize_Rcf", Reason => Error_Reporting.Create_Condition_Name ("Unable to register rcf target " & Stripped_Target, Error_Reporting.Warning), Explanation => Simple_Status.Name (Condition)); end if; end; end loop; Io.Close (Target_File); else Error_Reporting.Report_Error (Caller => "!Machine.Initialize_Rcf", Reason => Error_Reporting.Create_Condition_Name ("No Rcf targets will be registered", Error_Reporting.Warning), Explanation => "Bad target file name: " & Target_File_Name); end if; exception when Rcf_Compiler_Failure => Error_Reporting.Report_Error (Caller => "!Machine.Initialize_Rcf", Reason => Error_Reporting.Create_Condition_Name ("Unable to start rcf", Error_Reporting.Problem), Explanation => Simple_Status.Name (Condition)); when others => Error_Reporting.Report_Error (Caller => "!Machine.Initialize_Rcf", Reason => Error_Reporting.Create_Condition_Name ("Unhandled_Exception", Error_Reporting.Problem), Explanation => Debug_Tools.Get_Exception_Name (True, True)); end Initialize_Rcf;
nblk1=5 nid=0 hdr6=a [0x00] rec0=22 rec1=00 rec2=01 rec3=004 [0x01] rec0=18 rec1=00 rec2=02 rec3=036 [0x02] rec0=12 rec1=00 rec2=03 rec3=03e [0x03] rec0=15 rec1=00 rec2=04 rec3=074 [0x04] rec0=03 rec1=00 rec2=05 rec3=000 tail 0x2150156b881bfa51d397a 0x42a00088462060003