[fpc-pascal] Initializing threading

Vinzent Hoefler JeLlyFish.software at gmx.net
Tue Jul 25 16:33:54 CEST 2006


On Tuesday 25 July 2006 14:18, Andreas Berger wrote:

> In order to initialize threading under DOS I must create a separate
> unit since I need the initialization and finalization clause. I
> thought of using a cthreads.pp unit like in unix. However, the
> TThread
> implementation resides in the TThread.inc file which is an include in
> the implementation section of the system.pp unit which is always
> loaded.

AFAIR the TThread implementation makes use of the ThreadManager (it 
calls BeginThread and all that stuff).

> This causes the following problem: If someone creates a
> TThread, the constructor does not know if threading has been
> initialized (via cthreads) since I can not add a "uses cthreads"
> clause in the .inc file.
>
> Does anyone have any idea how I can resolve this?

Initialize is it in the BeginThread subroutine of your ThreadManager as 
it is done for all other targets that need special initialization. 
There is a global variable System.IsMultThread for exactly that 
purpose, I think.


Vinzent.




More information about the fpc-pascal mailing list