|
|
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 - metrics - downloadIndex: B T
Length: 1126 (0x466)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Readers_Writers;
use Readers_Writers;
pragma Elaborate (Readers_Writers);
package body Shared_Variable is
C : Control;
-- FOR TESTING ONLY: ITEM MADE "IN OUT" INSTEAD OF "OUT"
procedure Read (Item : in out Object_Type) is
begin
select
C.Start (Read);
or
delay Read_Time_Limit;
raise Timed_Out;
end select;
-- FOR TESTING ONLY; THIS ALLOWS THE SCHEDULER TO SCREW UP!
Copy (From => Object, To => Item);
-- TEMPORARILY REPLACES
-- ITEM := OBJECT;
-- FOR TESTING ONLY
Read_Put (Item);
C.Stop;
end Read;
procedure Write (Item : in Object_Type) is
begin
select
C.Start (Write);
or
delay Write_Time_Limit;
raise Timed_Out;
end select;
-- FOR TESTING ONLY; THIS ALLOWS THE SCHEDULER TO SCREW UP!
Copy (From => Item, To => Object);
-- TEMPORARILY REPLACES
Object := Item;
-- FOR TESTING ONLY
Write_Put (Item);
C.Stop;
end Write;
end Shared_Variable;