On Wed, Jan 11, 2023 at 04:40:14PM -0800, Andres Freund wrote: > 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.
As of d75288f, the archiver should be connected to shared memory, so we might be in luck. I guess we'd need to watch out for this if we want to back-patch it beyond v14. I'll work on a patch... -- Nathan Bossart Amazon Web Services: https://aws.amazon.com