From c4c236ab5c416131baa7109cdc25ccaadd4d7158 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 7 May 2025 14:55:57 +0900 Subject: [PATCH] Fix some comments related to IO workers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit IO workers are treated as auxiliary processes. The comments fixed in this commit stated that there could be only one auxiliary process of each BackendType at the same time. This is not true for IO workers, as up to MAX_IO_WORKERS of them can co-exist at the same time. Author: Cédric Villemain Co-authored-by: Michael Paquier Discussion: https://postgr.es/m/e4a3ac45-abce-4b58-a043-b4a31cd11113@Data-Bene.io --- src/backend/storage/ipc/procsignal.c | 3 ++- src/backend/storage/ipc/sinvaladt.c | 3 ++- src/include/miscadmin.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/ipc/procsignal.c b/src/backend/storage/ipc/procsignal.c index a3c2cd12277..1a4cc5e5d97 100644 --- a/src/backend/storage/ipc/procsignal.c +++ b/src/backend/storage/ipc/procsignal.c @@ -89,7 +89,8 @@ struct ProcSignalHeader /* * We reserve a slot for each possible ProcNumber, plus one for each * possible auxiliary process type. (This scheme assumes there is not - * more than one of any auxiliary process type at a time.) + * more than one of any auxiliary process type at a time, except for + * IO workers.) */ #define NumProcSignalSlots (MaxBackends + NUM_AUXILIARY_PROCS) diff --git a/src/backend/storage/ipc/sinvaladt.c b/src/backend/storage/ipc/sinvaladt.c index 2da91738c32..c5748b690f4 100644 --- a/src/backend/storage/ipc/sinvaladt.c +++ b/src/backend/storage/ipc/sinvaladt.c @@ -198,7 +198,8 @@ typedef struct SISeg /* * We reserve a slot for each possible ProcNumber, plus one for each * possible auxiliary process type. (This scheme assumes there is not - * more than one of any auxiliary process type at a time.) + * more than one of any auxiliary process type at a time, except for + * IO workers.) */ #define NumProcStateSlots (MaxBackends + NUM_AUXILIARY_PROCS) diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 72f5655fb34..629772b0381 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -353,7 +353,7 @@ typedef enum BackendType * Auxiliary processes. These have PGPROC entries, but they are not * attached to any particular database, and cannot run transactions or * even take heavyweight locks. There can be only one of each of these - * running at a time. + * running at a time, except for IO workers. * * If you modify these, make sure to update NUM_AUXILIARY_PROCS and the * glossary in the docs. -- 2.30.2