DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦cbcce1a9d⟧ TextFile

    Length: 1234 (0x4d2)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

-- 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;