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