THRIFT-5036 buffered transport over sockets may run into unexpected timeouts [ci skip]
Client: Delphi
Patch: Jens Geyer
diff --git a/lib/delphi/src/Thrift.Server.pas b/lib/delphi/src/Thrift.Server.pas
index 654ab99..da053b9 100644
--- a/lib/delphi/src/Thrift.Server.pas
+++ b/lib/delphi/src/Thrift.Server.pas
@@ -390,20 +390,17 @@
       end;
 
     except
-      on E: TTransportException do
-      begin
+      on E: TTransportException do begin
         if FStop
         then FLogDelegate('TSimpleServer was shutting down, caught ' + E.ToString)
         else FLogDelegate( E.ToString);
       end;
-      on E: Exception do
-      begin
+      on E: Exception do begin
         FLogDelegate( E.ToString);
       end;
     end;
 
-    if context <> nil
-    then begin
+    if context <> nil then begin
       context.CleanupContext;
       context := nil;
     end;
diff --git a/lib/delphi/src/Thrift.Transport.pas b/lib/delphi/src/Thrift.Transport.pas
index 7695b22..0a9a39e 100644
--- a/lib/delphi/src/Thrift.Transport.pas
+++ b/lib/delphi/src/Thrift.Transport.pas
@@ -1628,7 +1628,7 @@
   result := 0;
   pTmp   := pBuf;
   Inc( pTmp, offset);
-  while count > 0 do begin
+  while (count > 0) and (result = 0) do begin
 
     while TRUE do begin
       wfd := WaitForData( msecs, pTmp, count, wsaError, nBytes);
diff --git a/lib/delphi/test/TestServer.pas b/lib/delphi/test/TestServer.pas
index a9c71fb..da804fd 100644
--- a/lib/delphi/test/TestServer.pas
+++ b/lib/delphi/test/TestServer.pas
@@ -157,13 +157,11 @@
 procedure TTestServer.TTestHandlerImpl.testException(const arg: string);
 begin
   Console.WriteLine('testException(' + arg + ')');
-  if ( arg = 'Xception') then
-  begin
+  if ( arg = 'Xception') then begin
     raise TXception.Create( 1001, arg);
   end;
 
-  if (arg = 'TException') then
-  begin
+  if (arg = 'TException') then begin
     raise TException.Create('TException');
   end;