• Tom Lane's avatar
    Refactor CHECK_FOR_INTERRUPTS() to add flexibility. · e47f93f9
    Tom Lane authored
    Split up CHECK_FOR_INTERRUPTS() to provide an additional macro
    INTERRUPTS_PENDING_CONDITION(), which just tests whether an
    interrupt is pending without attempting to service it.  This is
    useful in situations where the caller knows that interrupts are
    blocked, and would like to find out if it's worth the trouble
    to unblock them.
    
    Also add INTERRUPTS_CAN_BE_PROCESSED(), which indicates whether
    CHECK_FOR_INTERRUPTS() can be relied on to clear the pending interrupt.
    
    This commit doesn't actually add any uses of the new macros,
    but a follow-on bug fix will do so.  Back-patch to all supported
    branches to provide infrastructure for that fix.
    
    Alvaro Herrera and Tom Lane
    
    Discussion: https://postgr.es/m/20210513155351.GA7848@alvherre.pgsql
    e47f93f9
miscadmin.h 16.9 KB