On 20 Apr 2009, at 10:30, Michael Van Canneyt wrote:

On Mon, 20 Apr 2009, Jonas Maebe wrote:

On 14 Apr 2009, at 13:42, Michael Van Canneyt wrote:

Use GetThreadManager() to retrieve the thread manager, and then
simply use the various functions.

No, the thread manager is only for internal use by the RTL, and may lack implementations for functions not required by the RTL for a particular
platform. See http://bugs.freepascal.org/view.php?id=11206

That was definitely not the original intention of the thread manager.

The idea was to have low-level thread related functions available without
classes, including semaphores.

I don't think the thread manager is an appropriate model for this, as it may have to be changed depending on internal requirements of the RTL (for example, a big shortcoming currently is that the thread manager generally lacks error reporting functionality, other than triggering run time errors). An abstraction layer on top of the thread manager seems more appropriate for the purpose of offering a portable procedural threading interface.

It's similar to how you don't directly use the memory manager, but instead have to use getmem/freemem/...


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to