[Lazarus] Threads in Lazarus code base

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Wed Sep 15 13:40:19 CEST 2010

Juha Manninen (gmail) wrote:

> so I rebuilt Lazarus with -dUseCThreads. Now it works perfectly!
> Question: why is there need for "UseCThreads" define. Isn't cthreads needed 
> always when using a *nix system?

Threads have been stable on x86 Linux for a few years, but rather less 
so on some other processors if I remember correctly. Also I don't know 
what the situation is for other unix implementations such as Solaris. 
I'd suggest that you not make any changes that rely on having threads 
available: having an optional enhancement that can benefit from them is 
a different matter.

Furthermore, I'd note that Lazarus is an IDE, and as such is 
overwhelmingly visual. While there is any possibility that Lazarus 
itself or the underlying widget sets and GUI implementations are not 
entirely thread-safe, I think that any mandatory adoption of threads 
should be attempted with extreme caution.

Having said that, it'll have to be done sometime. But tracking down 
thread-related problems is extremely difficult, and I'm certainly not 
the one who's going to risk breaking things.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the Lazarus mailing list