• Tom Lane's avatar
    Prevent interrupts while reporting non-ERROR elog messages. · 6c461cb9
    Tom Lane authored
    This should eliminate the risk of recursive entry to syslog(3), which
    appears to be the cause of the hang reported in bug #9551 from James
    Morton.
    
    Arguably, the real problem here is auth.c's willingness to turn on
    ImmediateInterruptOK while executing fairly wide swaths of backend code.
    We may well need to work at narrowing the code ranges in which the
    authentication_timeout interrupt is enabled.  For the moment, though,
    this is a cheap and reasonably noninvasive fix for a field-reported
    failure; the other approach would be complex and not necessarily
    bug-free itself.
    
    Back-patch to all supported branches.
    6c461cb9
elog.c 95.5 KB