On Sat, Jan 16, 2021 at 1:40 AM Andres Freund <and...@anarazel.de> wrote: > > On 2021-01-15 09:53:05 +0100, Peter Eisentraut wrote: > > On 2020-12-08 10:38, vignesh C wrote: > > > I have implemented printing of backtrace based on handling it in > > > CHECK_FOR_INTERRUPTS. This patch also includes the change to allow > > > getting backtrace of any particular process based on the suggestions. > > > Attached patch has the implementation for the same. > > > Thoughts? > > > > Are we willing to use up a signal for this? > > Why is a full signal needed? Seems the procsignal infrastructure should > suffice?
Most of the processes have access to ProcSignal, for these processes printing of callstack signal was handled by using ProcSignal. Pgstat process & syslogger process do not have access to ProcSignal, multiplexing with SIGUSR1 is not possible for these processes. So I handled the printing of callstack for pgstat process & syslogger using the SIGUSR2 signal. This is because shared memory is detached before pgstat & syslogger process is started by using the below: /* Drop our connection to postmaster's shared memory, as well */ dsm_detach_all(); PGSharedMemoryDetach(); Regards, Vignesh EnterpriseDB: http://www.enterprisedb.com