• Noah Misch's avatar
    Call xlc __isync() after, not before, associated compare-and-swap. · 5882ca66
    Noah Misch authored
    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 b64d92f1
    introduced atomics.
    
    Reviewed by Andres Freund and Tom Lane.
    5882ca66
Makefile 1015 Bytes