[fpc-devel] volatile variables
Michael Schnell
mschnell at lumino.de
Thu Jun 30 14:26:39 CEST 2011
On 06/30/2011 11:52 AM, Jonas Maebe wrote:
>
> On 30 Jun 2011, at 10:38, Michael Schnell wrote:
>
>> Regarding FPC, TCriticalSection is a decent encapsulation for
>> pthread_mutex_... when used in this way.
>>
>> But e.g. if you use a TThreadList instance "myList" with multiple
>> threads it can't be the way to go to include any occurrence of
>> myList.xxx by a critical section just to make sure that the cache
>> synchronization has happened and the instance variable itself in fact
>> is valid.
>
> That's where optimization comes in,
Very wrong assumption.
Optimization is not the question here it's just working vs. not working.
In a previous post the claim was that if the variable is not in the
cache of the appropriate CPU, a cache synchronization is not
automatically done by the underling system (Hardware / OS / Libraries)
and thus the variable has an erroneous value unless the application
program uses some special means to provide coherency.
In fact I doubt this, but this was the claim and thus needs to be
discussed here.
-Michael
More information about the fpc-devel
mailing list