|
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: 3609 (0xe19) Types: TextFile Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦6d381756c⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦6d381756c⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦6d381756c⟧ └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧
with Io; with Log; with Profile; with Program; with Calendar; with Debug_Tools; with Simple_Status; with Io_Exceptions; with String_Utilities; with System_Utilities; with Remote_Operations; procedure Run_Cmd (On_Host : String := ""; Id : Integer; Depth : Natural) is package Su renames String_Utilities; package Ro renames Remote_Operations; Max_Seconds : constant := 360; Context : Ro.Context; Status : Ro.Error_Status; function Log_File return String is begin return On_Host & '_' & Su.Strip (Integer'Image (Id)) & '_' & Su.Strip (Natural'Image (Depth)); end Log_File; function Job_Image return String is begin return "Run_Cmd (On_Host => """ & On_Host & """, Id =>" & Integer'Image (Id) & ", Depth =>" & Natural'Image (Depth - 1) & ')'; end Job_Image; function Pseudo_Random (Kind : String) return Duration is A_Number : Long_Integer; Ignored : Long_Integer; Result : Long_Integer; begin -- Processor_Manager.Get_Time_Info (Time_Since_Ipl => A_Number, -- Time_Of_Ipl => Ignored, -- Ticks_Per_Second => Ignored); A_Number := Long_Integer (Calendar."-" (Calendar.Clock, System_Utilities.System_Up_Time)); Result := A_Number mod Max_Seconds; Log.Put_Line ("Delay for " & Kind & " is" & Long_Integer'Image (Result) & " seconds", Kind => Profile.Note_Msg); Log.Flush; return Duration (Result); end Pseudo_Random; procedure Check (Status : Ro.Error_Status) is begin if Simple_Status.Error (Status) then Log.Put_Condition (Status); Log.Flush; raise Profile.Error; else Log.Flush; end if; end Check; procedure Spawn_Child is begin if Depth > 0 then Program.Run_Job (S => Job_Image, After => Pseudo_Random ("job start")); end if; end Spawn_Child; begin loop begin Log.Set_Output (Log_File); exit; exception when Io_Exceptions.Use_Error => delay 1.0; end; end loop; Ro.Acquire (A_Context => Context, Status => Status, Machine => On_Host, Instance => ""); Check (Status); Ro.Execute (Command => "pwd", In_Context => Context, Status => Status, Timeout => Remote_Operations.Wait_Forever); Check (Status); Ro.Execute (Command => "ls -alg", In_Context => Context, Status => Status, Timeout => Remote_Operations.Wait_Forever); Check (Status); Ro.Execute (Command => "ps -ax", In_Context => Context, Status => Status, Timeout => Remote_Operations.Wait_Forever); Check (Status); Ro.Release (A_Context => Context, Status => Status, Idle_Timeout => Remote_Operations.Default); Check (Status); Spawn_Child; delay Pseudo_Random ("termination"); exception when Profile.Error => Spawn_Child; when others => Log.Put_Line ("Got unexpected exception " & Debug_Tools.Get_Exception_Name (Machine_Info => True), Kind => Profile.Exception_Msg); end Run_Cmd;