Re: pgsql/src backend/tcop/postgres.c include/misc ... - Mailing list pgsql-committers

From Tom Lane
Subject Re: pgsql/src backend/tcop/postgres.c include/misc ...
Date
Msg-id 15234.1010448531@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql/src backend/tcop/postgres.c include/misc ...  (Hiroshi Inoue <Inoue@tpf.co.jp>)
List pgsql-committers
Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> As far as I see, the introduction of the ImmediateInterruptOK
> flag made HOLD/RESUME_INTERRUPTS scheme pretty meaningless.

Not at all.  The point of HOLD_INTERRUPTS is to disable any
CHECK_FOR_INTERRUPTS call that might be issued by subroutines
you call. That's very different from ImmediateInterruptOK, which
can be set true only in *extremely* limited areas wherein we can
fully understand the behavior of executing the cancel/die request
in the signal handler.

> Does 'die' interrupts still really need HOLD/RESUME_INTERRUPTS
> scheme ? If 'die' interrupts are only for normal shutdown,
> even LockWaitCancel() isn't needed.

It's needed for cancels.  Possibly we could skip it during shutdown,
but trying to do that seems risky and pointless.  (If we skip it
then we are leaving the lock-manager shared memory in a bad state,
which is exactly what die() should not do.)

            regards, tom lane

pgsql-committers by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: pgsql/src backend/tcop/postgres.c include/misc ...
Next
From: Tom Lane
Date:
Subject: Re: pgsql/src backend/tcop/postgres.c include/misc ...