On 06/28/2011 06:42 PM, Hans-Peter Diettrich wrote:


I could not find a definition of the mutex struct, to determine whether it contains any user-alterable values. When "the value" is declared outside the mutex struct, it will be accessible also *without* locking the mutex first.

What do you mean by "Mutex struct". The Data structure a Mutex internally uses is in Kernel space and invisible to the user program. With appropriate archs (such as X86 and modern ARM), in fact pthreadlib uses FUTEX instead of MUTEX, here a data structure in user land memory is allocated by the library, but a user program never should access it.

When using a MUTEX or FUTEX as a critical section it protects all the data that only is accessed by instructions issued after doing the "enter" and before doing the "leave" call. So it's entirely up to the user program to define what data is protected.

-Michael
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to