Re: HOLD_INTERRUPTS() vs ProcSignalBarrier

2022-05-25 Thread Robert Haas
On Tue, May 24, 2022 at 11:47 PM Thomas Munro wrote: > The concrete example I have in mind is the one created by me in > 637668fb. That can reach a walkdir() that unlinks a ton of temporary > files, and has a CFI() in it. Hmm, I missed that commit, and I have to say I'm a bit doubtful about it.

Re: HOLD_INTERRUPTS() vs ProcSignalBarrier

2022-05-24 Thread Thomas Munro
On Wed, May 25, 2022 at 3:08 PM Andres Freund wrote: > On 2022-05-25 14:47:41 +1200, Thomas Munro wrote: > > My question is: do we really need to suppress these non-ereporting > > interrupts in all the places we currently do HOLD_INTERRUPTS()? > > Most of those should be fairly short / only block

Re: HOLD_INTERRUPTS() vs ProcSignalBarrier

2022-05-24 Thread Andres Freund
Hi, On 2022-05-25 14:47:41 +1200, Thomas Munro wrote: > My question is: do we really need to suppress these non-ereporting > interrupts in all the places we currently do HOLD_INTERRUPTS()? Most of those should be fairly short / only block on lwlocks, small amounts of IO. I'm not sure how much of

HOLD_INTERRUPTS() vs ProcSignalBarrier

2022-05-24 Thread Thomas Munro
Hi, Whenever you call CHECK_FOR_INTERRUPTS(), there are three flow-control possibilities: 1. It doesn't return, because we ereport(FATAL) AKA "die". 2. It doesn't return, because we ereport(ERROR) AKA "cancel". 3. It returns, possibly having serviced various kinds of requests. If we're in a c