]> granicus.if.org Git - postgresql/commitdiff
Seems like we should not hold off cancel/die interrupts while we are
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 May 2001 18:39:16 +0000 (18:39 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 4 May 2001 18:39:16 +0000 (18:39 +0000)
running deferred triggers.  They are really part of the regular
transaction, and they could take awhile.

src/backend/access/transam/xact.c

index c88e665a7ec69e31fea97b766f56fd4b8dceb39c..4e13d689f1f764b311b0411622c81ebff2fc2ccb 100644 (file)
@@ -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