Re: kevent latch paths don't handle postmaster death well - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: kevent latch paths don't handle postmaster death well
Date
Msg-id CA+hUKGKvy_o=gXkbDEnpmJL-PcihAv272v-R+tpX3SdA+NdGVg@mail.gmail.com
Whole thread Raw
In response to kevent latch paths don't handle postmaster death well  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: kevent latch paths don't handle postmaster death well
List pgsql-hackers
On Thu, Oct 15, 2020 at 7:58 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> We appear to have already realized that the postmaster died, since we're
> inside proc_exit.  WaitForBackgroundWorkerShutdown is doing this:
>
>         rc = WaitLatch(MyLatch,
>                        WL_LATCH_SET | WL_POSTMASTER_DEATH, 0,
>                        WAIT_EVENT_BGWORKER_SHUTDOWN);
>
> which one would certainly hope would not block at all if the postmaster
> is already dead, yet it's doing so.  I guess that the kevent stuff is
> failing to handle the case of another WaitLatch call after the postmaster
> is already known dead.

The process exit event is like an 'edge', not a 'level'... hmm.  It
might be enough to set report_postmaster_not_running = true the first
time it tells us so if we try to wait again we'll treat it like a
level.  I will look into it later today.



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: kevent latch paths don't handle postmaster death well
Next
From: Justin Pryzby
Date:
Subject: jit and explain nontext