|
10 | 10 | *
|
11 | 11 | *
|
12 | 12 | * IDENTIFICATION
|
13 |
| - * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.180 2004/08/2820:31:43 tgl Exp $ |
| 13 | + * $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.181 2004/08/2822:04:12 tgl Exp $ |
14 | 14 | *
|
15 | 15 | *-------------------------------------------------------------------------
|
16 | 16 | */
|
@@ -920,12 +920,12 @@ RecordTransactionAbort(void)
|
920 | 920 | * necessary but we may as well do it while we are here.
|
921 | 921 | *
|
922 | 922 | * The ordering here isn't critical but it seems best to mark the
|
923 |
| - * parentlast.That reduces the chance that concurrent |
924 |
| - *TransactionIdDidAbort calls will decide they need to do redundant |
925 |
| - *work. |
| 923 | + * parentfirst.This assures an atomic transition of all the |
| 924 | + *subtransactions to aborted state from the point of view of |
| 925 | + *concurrent TransactionIdDidAbort calls. |
926 | 926 | */
|
927 |
| -TransactionIdAbortTree(nchildren,children); |
928 | 927 | TransactionIdAbort(xid);
|
| 928 | +TransactionIdAbortTree(nchildren,children); |
929 | 929 |
|
930 | 930 | END_CRIT_SECTION();
|
931 | 931 | }
|
@@ -1062,8 +1062,8 @@ RecordSubTransactionAbort(void)
|
1062 | 1062 | * Mark the transaction aborted in clog. This is not absolutely
|
1063 | 1063 | * necessary but we may as well do it while we are here.
|
1064 | 1064 | */
|
1065 |
| -TransactionIdAbortTree(nchildren,children); |
1066 | 1065 | TransactionIdAbort(xid);
|
| 1066 | +TransactionIdAbortTree(nchildren,children); |
1067 | 1067 |
|
1068 | 1068 | END_CRIT_SECTION();
|
1069 | 1069 | }
|
|