Re: low wal_retrieve_retry_interval causes missed signals on Windows - Mailing list pgsql-hackers

From Andres Freund
Subject Re: low wal_retrieve_retry_interval causes missed signals on Windows
Date
Msg-id 20230112004014.yygcctvdyomrreup@awork3.anarazel.de
Whole thread Raw
In response to Re: low wal_retrieve_retry_interval causes missed signals on Windows  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: low wal_retrieve_retry_interval causes missed signals on Windows
List pgsql-hackers
Hi,

On 2023-01-11 15:26:45 -0800, Nathan Bossart wrote:
> On Wed, Jan 11, 2023 at 12:48:36PM -0800, Andres Freund wrote:
> > Given that we check for interrupts in other parts of recovery with
> > HandleStartupProcInterrupt(), which doesn't interact with latches, isn't the
> > actual bug that HandleStartupProcInterrupt() doesn't contain the same black
> > magic that CHECK_FOR_INTERRUPTS() contains on windows?  Namely this stuff:
> 
> Yeah, this seems like a more comprehensive fix.  I've attached a patch that
> adds this Windows signaling stuff to the HandleXXXInterrupts() functions in
> the files you listed.  Is this roughly what you had in mind?  If so, I'll
> look around for anywhere else it is needed.

Yes, that's what I roughly was thinking of. Although seeing the diff, I think
it might be worth introducing a helper function that'd containing at least
pgwin32_dispatch_queued_signals() and ProcessProcSignalBarrier(). It's a bit
complicated by ProcessProcSignalBarrier() only being applicable to shared
memory connected processes - excluding e.g. pgarch.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Option to not use ringbuffer in VACUUM, using it in failsafe mode
Next
From: Andres Freund
Date:
Subject: Re: Reducing the WAL overhead of freezing in VACUUM by deduplicating per-tuple freeze plans