Re: kevent latch paths don't handle postmaster death well
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-10-14T22:50:18Z
Lists: pgsql-hackers
On Thu, Oct 15, 2020 at 11:18 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Thomas Munro <thomas.munro@gmail.com> writes: > > On Thu, Oct 15, 2020 at 8:40 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> Seems like having that be per-WaitEventSet state is also not a great > >> idea --- if we detect PM death while waiting on one WES, and then > >> wait on another one, it won't work. A plain process-wide static > >> variable would be a better way I bet. > > > I don't think that's a problem -- the kernel will report the event to > > each interested kqueue object. The attached fixes the problem for me. > > Oh, OK. I confirm this makes the kqueue path work like the EPOLL and POLL > paths. (I can't test the WIN32 path.) Thanks. Pushed. (Hmm, I wonder about that Windows process exit event.)
Commits
-
Handle EACCES errors from kevent() better.
- 47522ee00ddb 13.1 landed
- 70516a178ad0 14.0 landed
-
Make WL_POSTMASTER_DEATH level-triggered on kqueue builds.
- e0950135ae5d 13.1 landed
- b94109ce375b 14.0 landed