On 28/06/11 15:47, Hans-Peter Diettrich wrote:
Henry Vermaak schrieb:


You'll have to read the generated assembler for Windows critical
sections. My hunch would be that they use memory barriers, too.

 >>
When a critical section object is owned, the only other threads affected
are the threads that are waiting for ownership in a call to
EnterCriticalSection. Threads that are not waiting are free to continue
running.
<<

I don't see anything like memory barriers here.

Quoting from http://msdn.microsoft.com/en-us/library/ms686355%28v=VS.85%29.aspx

The following synchronization functions use the appropriate barriers to ensure memory ordering:

    Functions that enter or leave critical sections
    Functions that signal synchronization objects
    Wait functions
    Interlocked functions

Henry

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to