From: Tom Lane Date: Fri, 4 May 2001 18:39:16 +0000 (+0000) Subject: Seems like we should not hold off cancel/die interrupts while we are X-Git-Tag: REL7_1_1~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e2e19ca0cdb47a7359f29359b8d47f0a298b22f6;p=postgresql Seems like we should not hold off cancel/die interrupts while we are running deferred triggers. They are really part of the regular transaction, and they could take awhile. --- diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index c88e665a7e..4e13d689f1 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.101 2001/03/22 06:16:10 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.102 2001/05/04 18:39:16 tgl Exp $ * * NOTES * Transaction aborts can now occur two ways: @@ -1026,9 +1026,6 @@ CommitTransaction(void) if (s->state != TRANS_INPROGRESS) elog(NOTICE, "CommitTransaction and not in in-progress state "); - /* Prevent cancel/die interrupt while cleaning up */ - HOLD_INTERRUPTS(); - /* * Tell the trigger manager that this transaction is about to be * committed. He'll invoke all trigger deferred until XACT before we @@ -1036,6 +1033,9 @@ CommitTransaction(void) */ DeferredTriggerEndXact(); + /* Prevent cancel/die interrupt while cleaning up */ + HOLD_INTERRUPTS(); + /* * set the current transaction state information appropriately during * the abort processing