postgresql/src/include/port
Noah Misch 5882ca6686 Call xlc __isync() after, not before, associated compare-and-swap.
Architecture reference material specifies this order, and s_lock.h
inline assembly agrees.  The former order failed to provide mutual
exclusion to lwlock.c and perhaps to other clients.  The two xlc
buildfarm members, hornet and mandrill, have failed sixteen times with
duplicate key errors involving pg_class_oid_index or pg_type_oid_index.
Back-patch to 9.5, where commit b64d92f1a5
introduced atomics.

Reviewed by Andres Freund and Tom Lane.
2016-02-19 22:47:50 -05:00
..
atomics Call xlc __isync() after, not before, associated compare-and-swap. 2016-02-19 22:47:50 -05:00
win32 Enable building with the Mingw64 compiler. 2011-01-30 19:56:46 -05:00
win32_msvc Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
aix.h Attempt to work around a 32bit xlc compiler bug from a different place. 2015-08-08 01:19:02 +02:00
atomics.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
cygwin.h Remove checks for now long outdated compilers. 2012-09-28 19:43:50 -04:00
darwin.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
freebsd.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
hpux.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
linux.h pgindent run for 9.4 2014-05-06 12:12:18 -04:00
netbsd.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
openbsd.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_bswap.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
pg_crc32c.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
sco.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
solaris.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
unixware.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
win32.h Windows: Make pg_ctl reliably detect service status 2016-01-07 11:59:08 -03:00