El 18/5/26 a les 22:05, Luca Olivetti via fpc-pascal ha escrit:
El 18/5/26 a les 21:59, Michael Van Canneyt via fpc-pascal ha escrit:


what other options do I have?

At this moment, none. The best I can do is add a class variable to allow you to
set its class-type value to a TFPHTTPConnectionThread class descendant,
then that descendant would be used. Then you set this variable at the start.

Another option is to create a ConnectionThreadStackSize variable that would
be used to set the stack size.

Thank you, but both options would require an upgraded fpc/fcl, in that case I could simply modify my copy of fphttpserver.pp to use a different stack size. I'll see if I find a way of changing the stack size while keeping the fpc3.2.2 sources pristine.

Since the FConnectionThreadList is only used in the destructor to force close the socket I can either override the destructor and use local list in my derived class or simply call TFPHttpConnectionThread.CreateConnection without the FConnectionThreadList and see what happens...but the WaitForRequests(High(Integer)) worries me:

destructor TFPCustomHttpServer.Destroy;
var
  ThreadList: TList;
  I: Integer;
begin
  Active:=False;
  if Threaded and (FConnectionCount>0) then
  begin
    // first wait for open requests to finish and get closed automatically
    WaitForRequests;
    // force close open sockets
    ThreadList:=FConnectionThreadList.LockList;
    try
      for I:= ThreadList.Count-1 downto 0 do
CloseSocket(TFPHTTPConnectionThread(ThreadList[I]).Connection.Socket.Handle);
    finally
      FConnectionThreadList.UnlockList;
    end;
    // all requests must be destroyed - wait infinitely
    WaitForRequests(High(Integer));
  end;
  FreeAndNil(FConnectionThreadList);
  FreeAndNil(FCertificateData);
  inherited Destroy;
end;


In that case I could simply override the destructor with one does nothing other than setting Active to false. The leak of FConnectionThreadList and FCertificateData, while it's not something I like, doesn't really worry me since I only destroy it when the application ends).

Bye
--
Luca

_______________________________________________
fpc-pascal maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to