• Tom Lane's avatar
    Don't let timeout interrupts happen unless ImmediateInterruptOK is set. · e8312b4f
    Tom Lane authored
    Serious oversight in commit 16e1b7a1:
    we should not allow an interrupt to take control away from mainline code
    except when ImmediateInterruptOK is set.  Just to be safe, let's adopt
    the same save-clear-restore dance that's been used for many years in
    HandleCatchupInterrupt and HandleNotifyInterrupt, so that nothing bad
    happens if a timeout handler invokes code that tests or even manipulates
    ImmediateInterruptOK.
    
    Per report of "stuck spinlock" failures from Christophe Pettus, though
    many other symptoms are possible.  Diagnosis by Andres Freund.
    e8312b4f
timeout.c 18.8 KB