Re: kevent latch paths don't handle postmaster death well

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: kevent latch paths don't handle postmaster death well
Дата
Msg-id CA+hUKGKhsCOmCKTn4__8QYggVpnAaRpMf07M8BfwE+HzOLozwg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: kevent latch paths don't handle postmaster death well  (Thomas Munro <thomas.munro@gmail.com>)
Ответы Re: kevent latch paths don't handle postmaster death well  (Thomas Munro <thomas.munro@gmail.com>)
Список pgsql-hackers
On Thu, Oct 15, 2020 at 12:55 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Thu, Oct 15, 2020 at 12:14 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > I did not try to test it, but there's code that purports to handle that
> > in latch.c, ~ line 1150, and the behavior it's expecting mostly agrees
> > with what I read in the macOS kevent man page.  One thing I'd suggest
> > is that EACCES probably needs to be treated as "postmaster already dead",
> > too, in case the PID is now owned by another user ID.
>
> Good point.  I'll push that change later today.

I tried to test this on my system but it seems like maybe FreeBSD
can't really report EACCES for EVFILT_PROC.  From the man page and a
quick inspection of the source, you only have to be able to "see" the
process, and if you can't I think you'll get ESRCH, so EACCES may be
for other kinds of filters.  I don't currently have any Apple gear to
hand, but its man page uses the same language, but on the other hand I
do see EACCES in filt_procattach() in the darwin-xnu sources on github
so I guess you can reach this case and get an ugly ereport (hopefully
followed swiftly by a proc_exit() from the next wait on one of the
long lived WESs, or a FATAL if this was the creation of one of those).
  Fixed.  Thanks!



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

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Re: Online checksums verification in the backend
Следующее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: Add Information during standby recovery conflicts