On 19/05/2021 00:29, Bo Berglund via fpc-pascal wrote:
While not (bSTerm or bSInt or bsHup) do
begin
//Here is where the server runs as defined elsewhere
//Eternal loop to wait for system messages
Sleep(1); //To not hog the CPU
CheckSynchronize; //To get thread comm working
end;
sleep 1 is not that much. How does it change if you increase it to
sleep(50) / just for testing?
Also CheckSyncronize afaik takes a timeout.
So if you do not need to check the variables every millisecond, then do
While not (bSTerm or bSInt or bsHup) do
begin
//Here is where the server runs as defined elsewhere
//Eternal loop to wait for system messages
CheckSynchronize(50); //To get thread comm working
end;
--------
For all, else you can try
valgrind --tool callgrind
and kcachegrind to view the result.
but not sure if that works on a service, maybe you can run your code in a
foreground process under valgrind?
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal