]> 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:33 +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 a905b0a7d661c734d28951f45cea897181e8d32c..4b7e84ca59b42d44264312d39c87611ae5396b63 100644 (file)
@@ -235,13 +235,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;