• Tom Lane's avatar
    Fix for rare race-condition-like failure: if a backend receives SIGUSR2 · 53e95eee
    Tom Lane authored
    (notify/SI-overrun interrupt) while it is in process of doing proc_exit,
    it is possible for Async_NotifyHandler() to try to start a transaction
    when one is already running.  This leads to Asserts() or worse.  I think
    it may only be possible to occur when frontend synchronization is lost
    (ie, the elog(FATAL) in SocketBackend() fires), but that is a standard
    occurrence after error during COPY.  In any case, I have seen this
    failure occur during regression tests, so it is definitely possible.
    53e95eee
async.c 25 KB