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 - download
Index: ┃ B T

⟦31f03962c⟧ TextFile

    Length: 980 (0x3d4)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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;