On Sat, Dec 26, 2015 at 5:41 PM, Andres Freund <andres@anarazel.de> wrote:
On 2015-12-26 12:22:48 +0100, Andres Freund wrote: > > > 3) Replace the postmaster_alive_fds socketpair by some other signalling > > > mechanism. E.g. sending a procsignal to each backend, which sets the > > > latch and a special flag in the latch structure. > > > > And what would send the signal? The entire point here is to notice the > > situation where the postmaster has crashed. It can *not* depend on the > > postmaster taking some action. > > Ahem. Um. Look, over there ---> > > I blame it on all the food.
A unportable and easy version of this, actually making sense this time, would be to use prctl(PR_SET_PDEATHSIG, SIGQUIT). That'd send SIGQUIT to backends whenever postmaster dies. Obviously that's not portable either - doing this for linux only wouldn't be all that kludgey tho.
There is a way to make backends exit in Windows as well by using
JobObjects and use limitFlags as JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE