On Thu, 4 Sep 2008, "Vinzent Höfler" wrote:
> Hi,
>
> > I think that thread variables are automatically initialized to zero. So
> > you just need to use them in such a way that zero is the desired start
> > value.
>
> Hmm, yes. I just checked the sourcecode and indeed, for Win32 and Unix at
> least the threadvars are indeed initialized to zero. That would fit nicely
> here. ;)
>
> If any of the developers could confirm, whether this is guaranteed semantics
> or was just a sane choice by the implementor? Because the documentation reads
> quite a bit differently:
>
> <http://www.freepascal.org/docs-html/ref/refse22.html#x53-590004.4> states:
>
> "Note that the copy is made with the original value of the variable, not with
> the value of the variable at the time the thread is started."
>
> Which doesn't make too much sense to me considering that I can't initialize
> thread vars at all (compiler complains: 'Cannot initialize variables declared
> as threadvar'). So what would this "original value" be (besides the obvious
> zero - which is the default value for all global variables)?
The original value is zero.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal