• Tom Lane's avatar
    Make archiver's SIGQUIT handler exit via _exit(). · bedadc73
    Tom Lane authored
    Commit 8e19a826 changed the SIGQUIT handlers of almost all server
    processes not to run atexit callbacks.  The archiver process was
    skipped, perhaps because it's not connected to shared memory; but
    it's just as true here that running atexit callbacks in a signal
    handler is unsafe.  So let's make it work like the rest.
    
    In HEAD and v13, we can use the common SignalHandlerForCrashExit
    handler.  Before that, just tweak pgarch_exit to use _exit(2)
    explicitly.
    
    Like the previous commit, back-patch to all supported branches.
    
    Kyotaro Horiguchi, back-patching by me
    
    Discussion: https://postgr.es/m/1850884.1599601164@sss.pgh.pa.us
    bedadc73
pgarch.c 18.7 KB