On Thu, Sep 11, 2025 at 12:00 AM Andrey Borodin <x4mmm@yandex-team.ru> wrote:
> > On 10 Sep 2025, at 15:25, Alexander Korotkov <aekorotkov@gmail.com> wrote:
> > I believe we need some
> > general solution. We might have a special kind of condition variable,
> > a critical section condition variable, where both waiting and
> > signaling must be invoked only in a critical section. However, I dig
> > into our Latch and WaitEventSet, it seems there are too many
> > assumptions about postmaster death. So, a critical section condition
> > variable probably should be implemented on top of semaphore. Any
> > thoughts?
>
> We want Latch\WaitEventSet, but for critical section. Is it easier to implement from scratch (from semaphores), or is
iteasier to fix and maintain existing Latch\WaitEventSet?
FWIW I'm working on a patch set that kills all backends without
releasing any locks when the postmaster exists. Then CVs and other
latch-based stuff should be safe in this context. Work was
interrupted by a vacation but I hope to post something in the nexts
couple of days, over on that other thread I started...