diff --git a/packages/fcl-web/src/base/custhttpsys.pp b/packages/fcl-web/src/base/custhttpsys.pp index 425165cb27..a546709166 100644 --- a/packages/fcl-web/src/base/custhttpsys.pp +++ b/packages/fcl-web/src/base/custhttpsys.pp @@ -653,7 +653,9 @@ begin fBuffer := GetMem(fBufferSize); end; until res <> ERROR_MORE_DATA; - if res <> NO_ERROR then + if res = ERROR_OPERATION_ABORTED then + Break + else if res <> NO_ERROR then DoError(SErrReceiveRequest, [res]) else begin ProcessRequest(fBuffer, readsize, aRequest, aResponse); @@ -688,6 +690,10 @@ end; procedure THTTPSysHandler.Terminate; begin + if fHandle <> INVALID_HANDLE_VALUE then begin + HttpCloseRequestQueue(fHandle); + fHandle := INVALID_HANDLE_VALUE; + end; inherited Terminate; end;