Initialize replication_slot_catalog_xmin in procarray

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>
This commit is contained in:
Peter Eisentraut 2017-08-15 21:05:21 -04:00
parent dbeefe64f3
commit eff9ef73f8

View File

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