Fix incorrect comment on how BackendStatusArray is indexed
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 17 Jan 2024 13:44:10 +0000 (15:44 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 17 Jan 2024 13:44:10 +0000 (15:44 +0200)
The comment was copy-pasted from the call to ProcSignalInit() in
AuxiliaryProcessMain(), which uses a similar scheme of having reserved
slots for aux processes after MaxBackends slots for backends. However,
ProcSignalInit() indexing starts from 1, whereas BackendStatusArray
starts from 0. The code is correct, but the comment was wrong.

Discussion: https://www.postgresql.org/message-id/f3ecd4cb-85ee-4e54-8278-5fabfb3a4ed0@iki.fi
Backpatch-through: v14

src/backend/utils/activity/backend_status.c

index 3dac79c30eb637dd58ae5acf52896269dfcce9f9..1a1050c8da16d371e3f6fd5ffdd6847b27d04b8f 100644 (file)
@@ -263,9 +263,9 @@ pgstat_beinit(void)
         * Assign the MyBEEntry for an auxiliary process.  Since it doesn't
         * have a BackendId, the slot is statically allocated based on the
         * auxiliary process type (MyAuxProcType).  Backends use slots indexed
-        * in the range from 1 to MaxBackends (inclusive), so we use
-        * MaxBackends + AuxBackendType + 1 as the index of the slot for an
-        * auxiliary process.
+        * in the range from 0 to MaxBackends (exclusive), so we use
+        * MaxBackends + AuxProcType as the index of the slot for an auxiliary
+        * process.
         */
        MyBEEntry = &BackendStatusArray[MaxBackends + MyAuxProcType];
    }