]> 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:05:21 +0000 (21:05 -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 ff96e2a86fe64c85b6eb38f012795b15c3e51faf..ffa6180effdb9edd43af440665a91b9992f7a14e 100644 (file)
@@ -237,13 +237,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;