cobines wrote on Sun, 08 Nov 2009:
I have to conclude that the values in rtl/inc/systemh.inc: StackTop, StackBottom, StackLength are not behaving as thread-specific variables in the library, even though they are declared using ThreadVar.
Your problem is that every FPC-compiled library contains its own copy of the RTL. At this time you cannot create an FPC library whose RTL state is shared between a library and the main program. On Linux this will be possible after the patches attached to http://bugs.freepascal.org/view.php?id=12492 have been fully applied (they've only been applied partially for 2.4.0).
Furthermore, stack checking is broken for multi-threaded programs under *nix in 2.2.x. It has been fixed in 2.4.0. See http://bugs.freepascal.org/view.php?id=12942 for more info. And keep in mind that it's only an approximation, and can only be used to get a rough estimate of the required stack space (as explained in the comments to that bug).
Jonas ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal