On Wed, Apr 18, 2018 at 5:04 PM, Thomas Munro <thomas.mu...@enterprisedb.com> wrote: > On Wed, Apr 11, 2018 at 10:22 PM, Heikki Linnakangas <hlinn...@iki.fi> wrote: >>> On Tue, Apr 10, 2018 at 12:53 PM, Andres Freund <and...@anarazel.de> >>> wrote: >>>> That person said he'd work on adding an equivalent of linux' >>>> prctl(PR_SET_PDEATHSIG) to FreeBSD. > > Here is an implementation of Andres's idea for Linux, and also for > patched FreeBSD (for later if/when that lands). Do you think this > makes sense Heikki? I am planning to add this to the next CF.
Here's a new version with a stupid bug fixed (I accidentally posted a testing version that returned false instead of true, as cfbot quickly pointed out -- d'oh). By the way, these patches only use the death signal to make PostmasterIsAlive() fast, for use by busy loops like recovery. The postmaster pipe is still used for IO/timeout loops to detect postmaster death. In theory you could get rid of the postmaster pipe completely when USE_POSTMASTER_DEATH_SIGNAL is defined and make it like the latch code, using the same self-pipe. I'm not sure if there is anything to be gained by that (that wasn't already gained by using epoll/kqueue) so I'm not proposing it. -- Thomas Munro http://www.enterprisedb.com
0001-Use-signals-for-postmaster-death-on-Linux-v2.patch
Description: Binary data
0002-Use-signals-for-postmaster-death-on-FreeBSD-v2.patch
Description: Binary data