Make WL_POSTMASTER_DEATH level-triggered on kqueue builds.

Thomas Munro <tmunro@postgresql.org>

Commit: b94109ce375b137f235149bfba3559c69f4573e7
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2020-10-14T22:41:58Z
Releases: 14.0
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

Files

PathChange+/−
src/backend/storage/ipc/latch.c modified +11 −1

Discussion