• Andres Freund's avatar
    Add barriers to the latch code. · 14e8803f
    Andres Freund authored
    Since their introduction latches have required barriers in SetLatch
    and ResetLatch - but when they were introduced there wasn't any
    barrier abstraction. Instead latches were documented to rely on the
    callsites to provide barrier semantics.
    
    Now that the barrier support looks halfway complete, add the necessary
    barriers to both latch implementations.
    
    Also remove a now superflous lock acquisition from syncrep.c and a
    superflous (and insufficient) barrier from freelist.c. There might be
    other cases that can now be simplified, but those are the only ones
    I've seen on a quick scan.
    
    We might want to backpatch this at some later point, but right now the
    barrier infrastructure in the backbranches isn't totally on par with
    master.
    
    Discussion: 20150112154026.GB2092@awork2.anarazel.de
    14e8803f
win32_latch.c 8.88 KB