]> granicus.if.org Git - postgresql/commitdiff
Initialize replication_slot_catalog_xmin in procarray
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 16 Aug 2017 01:05:21 +0000 (21:05 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 16 Aug 2017 01:06:22 +0000 (21:06 -0400)
Although not confirmed and probably rare, if the newly allocated memory
is not already zero, this could possibly have caused some problems.

Also reorder the initializations slightly so they match the order of the
struct definition.

Author: Wong, Yi Wen <yiwong@amazon.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
src/backend/storage/ipc/procarray.c

index 5b452c613aa8004c2ebbf419c6ceb4e667280d39..3dd98dfd9e876e4a113567187c93e78aeeabd435 100644 (file)
@@ -233,13 +233,14 @@ CreateSharedProcArray(void)
                 */
                procArray->numProcs = 0;
                procArray->maxProcs = PROCARRAY_MAXPROCS;
-               procArray->replication_slot_xmin = InvalidTransactionId;
                procArray->maxKnownAssignedXids = TOTAL_MAX_CACHED_SUBXIDS;
                procArray->numKnownAssignedXids = 0;
                procArray->tailKnownAssignedXids = 0;
                procArray->headKnownAssignedXids = 0;
                SpinLockInit(&procArray->known_assigned_xids_lck);
                procArray->lastOverflowedXid = InvalidTransactionId;
+               procArray->replication_slot_xmin = InvalidTransactionId;
+               procArray->replication_slot_catalog_xmin = InvalidTransactionId;
        }
 
        allProcs = ProcGlobal->allProcs;