Thread: pgsql/src/backend access/transam/xlog.c storag ...

pgsql/src/backend access/transam/xlog.c storag ...

From
tgl@postgresql.org
Date:
CVSROOT:    /cvsroot
Module name:    pgsql
Changes by:    tgl@postgresql.org    01/12/28 13:16:43

Modified files:
    src/backend/access/transam: xlog.c
    src/backend/storage/ipc: shmem.c
    src/backend/storage/lmgr: proc.c

Log message:
    Ensure that all direct uses of spinlock-protected data structures use
    'volatile' pointers to access those structures, so that optimizing
    compilers will not decide to move the structure accesses outside of the
    spinlock-acquire-to-spinlock-release sequence.  There are no known bugs
    in these uses at present, but based on bad experience with lwlock.c,
    it seems prudent to ensure that we protect these other uses too.
    Per pghackers discussion around 12-Dec.  (Note: it should not be
    necessary to worry about structures protected by LWLocks, since the
    LWLock acquire and release operations are not inline macros.)