Add HOLD_INTERRUPTS section into FinishPreparedTransaction.

Teodor Sigaev <teodor@sigaev.ru>

Commit: 6bd659f19cac6bcf7235ac4f7dd4e36c8d2cc755
Author: Teodor Sigaev <teodor@sigaev.ru>
Date: 2018-05-03T17:10:11Z
Releases: 9.4.18
Add HOLD_INTERRUPTS section into FinishPreparedTransaction.

If an interrupt arrives in the middle of FinishPreparedTransaction
and any callback decide to call CHECK_FOR_INTERRUPTS (e.g.
RemoveTwoPhaseFile can write a warning with ereport, which checks for
interrupts) then it's possible to leave current GXact undeleted.

Backpatch to all supported branches

Stas Kelvich

Discussion: ihttps://www.postgresql.org/message-id/3AD85097-A3F3-4EBA-99BD-C38EDF8D2949@postgrespro.ru

Files

PathChange+/−
src/backend/access/transam/twophase.c modified +5 −0

Discussion