From 508a97ee4984597ea60c383f52adefd47178189f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Dec 2024 16:21:54 -0500 Subject: [PATCH] Replace PGPROC.isBackgroundWorker with isRegularBackend. Commit 34486b609 effectively redefined isBackgroundWorker as meaning "not a regular backend", whereas before it had the narrower meaning of AmBackgroundWorkerProcess(). For clarity, rename the field to isRegularBackend and invert its sense. Discussion: https://postgr.es/m/1808397.1735156190@sss.pgh.pa.us --- src/backend/access/transam/twophase.c | 2 +- src/backend/storage/ipc/procarray.c | 8 ++++---- src/backend/storage/lmgr/proc.c | 4 ++-- src/include/storage/proc.h | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index edb8e060814..885c9b513e9 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -466,7 +466,7 @@ MarkAsPreparingGuts(GlobalTransaction gxact, TransactionId xid, const char *gid, proc->databaseId = databaseid; proc->roleId = owner; proc->tempNamespaceId = InvalidOid; - proc->isBackgroundWorker = true; + proc->isRegularBackend = false; proc->lwWaiting = LW_WS_NOT_WAITING; proc->lwWaitMode = 0; proc->waitLock = NULL; diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index a640b6f5f78..3f8764da852 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -3640,8 +3640,8 @@ CountDBConnections(Oid databaseid) if (proc->pid == 0) continue; /* do not count prepared xacts */ - if (proc->isBackgroundWorker) - continue; /* do not count background workers */ + if (!proc->isRegularBackend) + continue; /* count only regular backend processes */ if (!OidIsValid(databaseid) || proc->databaseId == databaseid) count++; @@ -3712,8 +3712,8 @@ CountUserBackends(Oid roleid) if (proc->pid == 0) continue; /* do not count prepared xacts */ - if (proc->isBackgroundWorker) - continue; /* do not count background workers */ + if (!proc->isRegularBackend) + continue; /* count only regular backend processes */ if (proc->roleId == roleid) count++; } diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index acf16d2b89f..fd7077dfcdf 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -432,7 +432,7 @@ InitProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->tempNamespaceId = InvalidOid; - MyProc->isBackgroundWorker = !AmRegularBackendProcess(); + MyProc->isRegularBackend = AmRegularBackendProcess(); MyProc->delayChkptFlags = 0; MyProc->statusFlags = 0; /* NB -- autovac launcher intentionally does not set IS_AUTOVACUUM */ @@ -631,7 +631,7 @@ InitAuxiliaryProcess(void) MyProc->databaseId = InvalidOid; MyProc->roleId = InvalidOid; MyProc->tempNamespaceId = InvalidOid; - MyProc->isBackgroundWorker = true; + MyProc->isRegularBackend = false; MyProc->delayChkptFlags = 0; MyProc->statusFlags = 0; MyProc->lwWaiting = LW_WS_NOT_WAITING; diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h index b20f9989a3f..0b1fa61310f 100644 --- a/src/include/storage/proc.h +++ b/src/include/storage/proc.h @@ -149,7 +149,7 @@ typedef enum * but its myProcLocks[] lists are valid. * * We allow many fields of this struct to be accessed without locks, such as - * delayChkptFlags and isBackgroundWorker. However, keep in mind that writing + * delayChkptFlags and isRegularBackend. However, keep in mind that writing * mirrored ones (see below) requires holding ProcArrayLock or XidGenLock in * at least shared mode, so that pgxactoff does not change concurrently. * @@ -216,7 +216,7 @@ struct PGPROC Oid tempNamespaceId; /* OID of temp schema this backend is * using */ - bool isBackgroundWorker; /* true if not a regular backend. */ + bool isRegularBackend; /* true if it's a regular backend. */ /* * While in hot standby mode, shows that a conflict signal has been sent -- 2.30.2