|
|
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: 1234 (0x4d2)
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⟧
-- schedtest : see if any tasks get starved
--
-- t1----------->slave<------------t3
-- t2----------->
--
-- t1 & t2 call entry1 in slave, t3 calls entry2
-- slave aborts after entered 1000 times
with Instrument;
use Instrument;
procedure Tpute2 is
Call1 : Integer;
Call2 : Integer;
task Slave is
entry Entry1;
entry Entry2;
end Slave;
task T1;
task T2;
task T3;
task body T3 is
begin
loop
Slave.Entry2;
end loop;
end T3;
task body Slave is
begin
Start ("TPUTE2", "Task Perf., Unknown Test (test)");
Call1 := 0;
Call2 := 0;
for I in 1 .. 1000 loop
select
accept Entry1 do
Call1 := Call1 + 1;
end Entry1;
or
accept Entry2 do
Call2 := Call2 + 1;
end Entry2;
end select;
end loop;
Stop;
abort T1, T2;
end Slave;
task body T1 is
begin
loop
Slave.Entry1;
end loop;
end T1;
task body T2 is
begin
loop
Slave.Entry1;
end loop;
end T2;
begin
null;
end Tpute2;