Make WL_POSTMASTER_DEATH level-triggered on kqueue builds.
authorThomas Munro <tmunro@postgresql.org>
Wed, 14 Oct 2020 22:31:20 +0000 (11:31 +1300)
committerThomas Munro <tmunro@postgresql.org>
Wed, 14 Oct 2020 22:41:58 +0000 (11:41 +1300)
commitb94109ce375b137f235149bfba3559c69f4573e7
tree3bb52406abf05df6e4efe561082ba2a8a993294b
parenta04daa97a4339c38e304cd6164d37da540d665a8
Make WL_POSTMASTER_DEATH level-triggered on kqueue builds.

If WaitEventSetWait() reports that the postmaster has gone away, later
calls to WaitEventSetWait() should continue to report that.  Otherwise
further waits that occur in the proc_exit() path after we already
noticed the postmaster's demise could block forever.

Back-patch to 13, where the kqueue support landed.

Reported-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/3624029.1602701929%40sss.pgh.pa.us
src/backend/storage/ipc/latch.c