DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦33716082a⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Close, seg_0520f0, separate Transport

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



separate (Transport)
procedure Close (Connection : Transport.Connection_Id) is
    Temp_Connect : Transport.Connection_Id := Connection;
    System_Call_Result : Unix_Base_Types.Int;
begin

    if Connection = Null_Connection_Id then
        return;
    end if;

    if Connection.Socket_Status = Connected then
        Transport.Disconnect (Connection => Connection);
    end if;


    if Connection.Socket_Status = Open or
       Connection.Socket_Status = Not_Connected then

        System_Call_Result :=
           Socket_System_Interface.Shutdown
              (S => Connection.Local_Socket_Descriptor, How => 2);

        System_Call_Result := System_Interface.File_Io.Close
                                 (Fildes => Connection.Local_Socket_Descriptor);


        if System_Call_Result < 0 then
            raise Program_Error;
        else
            Connection.Local_Socket_Descriptor := Unix_Error;
            Connection.Socket_Status := Closed;
        end if;

    end if;

end Close;


E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=20 rec1=00 rec2=01 rec3=054
        [0x01] rec0=08 rec1=00 rec2=02 rec3=000
    tail 0x2175994b087a05cb1f5bd 0x42a00088462060003