Re: Is PQreset() proper ?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Is PQreset() proper ?
Дата
Msg-id 15719.977379462@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Is PQreset() proper ?  (Hiroshi Inoue <Inoue@tpf.co.jp>)
Список pgsql-hackers
> Tom Lane wrote:
>> This isn't PQreset()'s fault that I can see.  This is a race condition
>> caused by bogosity in PostgresMain --- it enables SIGUSR1 before it's
>> set up the correct signal handler for same.  The postmaster should have
>> started the child process with all signals blocked, so SIGUSR1 will be
>> held off until the child explicitly enables it; but it does so a few
>> lines too soon.  Will fix.

Actually, it turns out the real problem is that backends were inheriting
a SIG_IGN setting for SIGUSR1 from the postmaster.  So a SIGUSR1
delivered before they got as far as setting up their own signal handling
would get lost.  Fixed now.

Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> I once observed another case,the hang of CheckPoint process
> while postmaster was in a backend crash recovery. I changed
> postmaster.c to not invoke CheckPoint process while postmaster
> is in a backend crash recovery but it doesn't seem sufficient.
> SIGUSR1 signal seems to be blocked all the way in CheckPoint
> process.

Hm.  Vadim, do you think it's safe to let CheckPoint be killed by
SIGUSR1?  If not, what will we do about this?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thomas Lockhart
Дата:
Сообщение: Re: Future beta releases ...
Следующее
От: Hannu Krosing
Дата:
Сообщение: Re: Who is a maintainer of GiST code ?