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

⟦dff7e156e⟧ TextFile

    Length: 2575 (0xa0f)
    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

-- ada tasking tester
-- task head is the controller
-- tasks link are the chain of tasks
-- tasks idle are the standby tasks

with Instrument;
use Instrument;

procedure Tpitb1 is
    Dummy : Integer;

    task Head is
        entry Give;
    end Head;
    task Link1 is
        entry Give;
    end Link1;
    task Idle1 is
        entry Init;
        --  entry never;              -- included in test version
    end Idle1;
    task Idle2 is
        entry Init;
        --  entry never;              -- included in test version
    end Idle2;
    task Idle3 is
        entry Init;
        --  entry never;              -- included in test version
    end Idle3;
    task Idle4 is
        entry Init;
        --  entry never;              -- included in test version
    end Idle4;
    task Idle5 is
        entry Init;
        --  entry never;              -- included in test version
    end Idle5;
    task body Head is
    begin
        Start ("TPITB1", "Task Performance w/5 Idle Tasks (control)");
        Idle1.Init;
        Idle2.Init;
        Idle3.Init;
        Idle4.Init;
        Idle5.Init;
        Dummy := 0; -- something for the task to do
        for I in 1 .. 1000 loop
            Dummy := Dummy + 1;
            Link1.Give;
            accept Give do
                null;
            end Give;
        end loop;
        Stop;
        abort Link1, Idle1, Idle2, Idle3, Idle4, Idle5;
    end Head;
    task body Link1 is
    begin
        loop
            accept Give do
                null;
            end Give;
            Head.Give;
            null;
        end loop;
    end Link1;
    task body Idle1 is
    begin
        accept Init do
            null;
        end Init;
        --   accept never do null; end never;  -- inc in test ver
        null;
    end Idle1;
    task body Idle2 is
    begin
        accept Init do
            null;
        end Init;
        --   accept never do null; end never;   -- inc in test ver
        null;
    end Idle2;
    task body Idle3 is
    begin
        accept Init do
            null;
        end Init;
        --   accept never do null; end never;   -- inc in test ver
        null;
    end Idle3;
    task body Idle4 is
    begin
        accept Init do
            null;
        end Init;
        --   accept never do null; end never;   -- inc in test ver
        null;
    end Idle4;
    task body Idle5 is
    begin
        accept Init do
            null;
        end Init;
        --   accept never do null; end never;   -- inc in test ver
        null;
    end Idle5;
begin
    null;
end Tpitb1;