|
|
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: 980 (0x3d4)
Types: TextFile
Names: »B«
└─⟦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⟧
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;