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