Ver código fonte

* Fix bug ID #28723

git-svn-id: trunk@33094 -
michael 9 anos atrás
pai
commit
263c888555
1 arquivos alterados com 17 adições e 2 exclusões
  1. 17 2
      packages/fcl-net/src/ssockets.pp

+ 17 - 2
packages/fcl-net/src/ssockets.pp

@@ -194,6 +194,7 @@ type
   Protected
     Procedure Bind; Override;
     Function Accept : Longint;override;
+    function GetConnection: TSocketStream; override;
     Function SockToStream (ASocket : Longint) : TSocketStream;Override;
     Procedure Close; override;
   Public
@@ -509,11 +510,9 @@ Function TInetServer.GetConnection : TSocketStream;
 
 var
   NewSocket : longint;
-  l : integer;
 
 begin
   Result:=Nil;
-  L:=SizeOf(FAddr);
   NewSocket:=Accept;
   if (NewSocket<0) then
     Raise ESocketError.Create(seAcceptFailed,[Socket,SocketError]);
@@ -817,6 +816,22 @@ begin
   (Result as TUnixSocket).FFileName:=FFileName;
 end;
 
+Function TUnixServer.GetConnection : TSocketStream;
+
+var
+  NewSocket : longint;
+
+begin
+  Result:=Nil;
+  NewSocket:=Accept;
+  if (NewSocket<0) then
+    Raise ESocketError.Create(seAcceptFailed,[Socket,SocketError]);
+  If FAccepting and DoConnectQuery(NewSocket) Then
+    Result:=SockToStream(NewSocket)
+  else
+    CloseSocket(NewSocket);
+end;
+
 {$endif}
 
 { ---------------------------------------------------------------------