On 06/22/2012 11:02 PM, Tom Lane wrote:
> Stefan Kaltenbrunner <stefan@kaltenbrunner.cc> writes:
>> On 06/22/2012 09:39 PM, Tom Lane wrote:
>>> (Hey Stefan, is there a way on BSD to check a process's signals-blocked
>>> state from outside? If so, next time this happens you should try to
>>> determine the children's signal state.)
>
>> with help from RhodiumToad on IRC:
>
>> # ps -o pid,sig,sigcatch,sigignore,sigmask,command -p 12480
>
>> PID PENDING CAUGHT IGNORED BLOCKED COMMAND
>> 12480 20004004 34084005 c942b002 fffefeff postgres: writer process
>> (postgres)
>
>> # ps -o pid,sig,sigcatch,sigignore,sigmask,command -p 9841
>> PID PENDING CAUGHT IGNORED BLOCKED COMMAND
>> 9841 20004004 34084007 c942b000 fffefeff postgres: wal writer process
>> (postgres)
>
> Well, the nonzero PENDING masks sure look like a smoking gun, but why
> are there multiple pending signals? And I'm not sure I know OpenBSD's
> signal numbers by heart. Could you convert those masks into text signal
> name lists for us?
this seems to be SIGUSR1,SIGTERM and SIGQUIT
Stefan