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
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel