On Tue, Feb 22, 2011 at 07:38, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> + SpinLockAcquire(&WalSndCtl->ctlmutex);
> + result = WalSndCtl->sync_rep_service_available;
> + SpinLockRelease(&WalSndCtl->ctlmutex);
> volatile pointer needs to be used to prevent code rearrangement.
I don't think that's necessary. Spinlock functions already prevent
reordering using __asm__ __volatile__
Otherwise, surely they would be utterly broken?
Regards,
Marti