• Robert Haas's avatar
    Extend the ProcSignal mechanism to support barriers. · 16a4e4ae
    Robert Haas authored
    A new function EmitProcSignalBarrier() can be used to emit a global
    barrier which all backends that participate in the ProcSignal
    mechanism must absorb, and a new function WaitForProcSignalBarrier()
    can be used to wait until all relevant backends have in fact
    absorbed the barrier.
    
    This can be used to coordinate global state changes, such as turning
    checksums on while the system is running.
    
    There's no real client of this mechanism yet, although two are
    proposed, but an enum has to have at least one element, so this
    includes a placeholder type (PROCSIGNAL_BARRIER_PLACEHOLDER) which
    should be replaced by the first real client of this mechanism to
    get committed.
    
    Andres Freund and Robert Haas, reviewed by Daniel Gustafsson and,
    in earlier versions, by Magnus Hagander.
    
    Discussion: http://postgr.es/m/CA+TgmoZwDk=BguVDVa+qdA6SBKef=PKbaKDQALTC_9qoz1mJqg@mail.gmail.com
    16a4e4ae
procsignal.h 2.35 KB