Re: stats collector dies in current - Mailing list pgsql-hackers

From Oliver Jowett
Subject Re: stats collector dies in current
Date
Msg-id 411EFC5E.1030800@opencloud.com
Whole thread Raw
In response to Re: stats collector dies in current  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: stats collector dies in current  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Oliver Jowett <oliver@opencloud.com> writes:
> 
>>I think pqsignal should be passing SA_NOCLDSTOP in sa_flags,
> 
> 
> With that patch applied, the problem is indeed gone on my system.
> However, I would still like to know why 7.4 didn't show the same
> misbehavior, when it isn't using this flag.

It looks like the 7.4 code never unblocks signals in the collector 
process, so that process never gets stopped by SIGTSTP.

On the 7.4.1 install I have to hand, from /proc/<pid>/status, the buffer 
process reports:

SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001006a07
SigCgt: 0000000000010000

while the collector process has:

SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: ffffffff3ff9fa07
SigIgn: 0000000001007a07
SigCgt: 0000000000000000

TSTP is signal 20 here which appears to be blocked (mask of 80000) in 
the collector process.

A quick glance at the REL7_4_STABLE pgstat.c shows only one PG_SETMASK, 
executed in the buffer process only.

-O


pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: [ADMIN] SRPM for 8.0.0 beta?
Next
From: Tom Lane
Date:
Subject: Re: stats collector dies in current