In the end (with a few posts to the mailing list), we found out that if a task (thread) is quick or not very CPU intensive, Linux prefers to give them longer timeslices instead of constantly switching threads. That was the only thing I noticed, but other than that, I use threads (although little at the moment) in exactly the same way as I did with Delphi and all is fine.
It might be the case, I'm not sure. In my case, sometimes my app (fcgi) couldn't create a new requested thread, but at other times it created successfully. It happened randomly which gave me enough headaches to find what caused the problem. Such case didn't happen on windows. Anyway, thanks for the tips, Graeme. -Bee- _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal