]> 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:11 +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 03c8c933b1101960a220257048d93b344db96428..8ecbe252bfa44b2655974722d02dba79967f1d9c 100644 (file)
@@ -239,13 +239,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;