mirror of
https://github.com/postgres/postgres.git
synced 2026-01-26 09:41:40 +03:00
Use the GetPGProcByNumber() macro when possible
A few places were accessing &ProcGlobal->allProcs directly, so adjust them to use the accessor macro instead. Author: Maksim Melnikov <m.melnikov@postgrespro.ru> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: David Rowley <dgrowleyml@gmail.com> Discussion: https://postgr.es/m/80621c00-aba6-483c-88b1-a845461d1165@postgrespro.ru
This commit is contained in:
@@ -575,7 +575,7 @@ TransactionGroupUpdateXidStatus(TransactionId xid, XidStatus status,
|
||||
/* Walk the list and update the status of all XIDs. */
|
||||
while (nextidx != INVALID_PROC_NUMBER)
|
||||
{
|
||||
PGPROC *nextproc = &ProcGlobal->allProcs[nextidx];
|
||||
PGPROC *nextproc = GetPGProcByNumber(nextidx);
|
||||
int64 thispageno = nextproc->clogGroupMemberPage;
|
||||
|
||||
/*
|
||||
@@ -634,7 +634,7 @@ TransactionGroupUpdateXidStatus(TransactionId xid, XidStatus status,
|
||||
*/
|
||||
while (wakeidx != INVALID_PROC_NUMBER)
|
||||
{
|
||||
PGPROC *wakeproc = &ProcGlobal->allProcs[wakeidx];
|
||||
PGPROC *wakeproc = GetPGProcByNumber(wakeidx);
|
||||
|
||||
wakeidx = pg_atomic_read_u32(&wakeproc->clogGroupNext);
|
||||
pg_atomic_write_u32(&wakeproc->clogGroupNext, INVALID_PROC_NUMBER);
|
||||
|
||||
@@ -292,7 +292,7 @@ PgArchWakeup(void)
|
||||
* be relaunched shortly and will start archiving.
|
||||
*/
|
||||
if (arch_pgprocno != INVALID_PROC_NUMBER)
|
||||
SetLatch(&ProcGlobal->allProcs[arch_pgprocno].procLatch);
|
||||
SetLatch(&GetPGProcByNumber(arch_pgprocno)->procLatch);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -649,7 +649,7 @@ WakeupWalSummarizer(void)
|
||||
LWLockRelease(WALSummarizerLock);
|
||||
|
||||
if (pgprocno != INVALID_PROC_NUMBER)
|
||||
SetLatch(&ProcGlobal->allProcs[pgprocno].procLatch);
|
||||
SetLatch(&GetPGProcByNumber(pgprocno)->procLatch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -216,7 +216,7 @@ StrategyGetBuffer(BufferAccessStrategy strategy, uint32 *buf_state, bool *from_r
|
||||
* actually fine because procLatch isn't ever freed, so we just can
|
||||
* potentially set the wrong process' (or no process') latch.
|
||||
*/
|
||||
SetLatch(&ProcGlobal->allProcs[bgwprocno].procLatch);
|
||||
SetLatch(&GetPGProcByNumber(bgwprocno)->procLatch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -2876,7 +2876,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
|
||||
*/
|
||||
for (i = 0; i < ProcGlobal->allProcCount; i++)
|
||||
{
|
||||
PGPROC *proc = &ProcGlobal->allProcs[i];
|
||||
PGPROC *proc = GetPGProcByNumber(i);
|
||||
uint32 j;
|
||||
|
||||
LWLockAcquire(&proc->fpInfoLock, LW_EXCLUSIVE);
|
||||
@@ -3133,7 +3133,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode, int *countp)
|
||||
*/
|
||||
for (i = 0; i < ProcGlobal->allProcCount; i++)
|
||||
{
|
||||
PGPROC *proc = &ProcGlobal->allProcs[i];
|
||||
PGPROC *proc = GetPGProcByNumber(i);
|
||||
uint32 j;
|
||||
|
||||
/* A backend never blocks itself */
|
||||
@@ -3820,7 +3820,7 @@ GetLockStatusData(void)
|
||||
*/
|
||||
for (i = 0; i < ProcGlobal->allProcCount; ++i)
|
||||
{
|
||||
PGPROC *proc = &ProcGlobal->allProcs[i];
|
||||
PGPROC *proc = GetPGProcByNumber(i);
|
||||
|
||||
/* Skip backends with pid=0, as they don't hold fast-path locks */
|
||||
if (proc->pid == 0)
|
||||
|
||||
@@ -1998,7 +1998,7 @@ ProcSendSignal(ProcNumber procNumber)
|
||||
if (procNumber < 0 || procNumber >= ProcGlobal->allProcCount)
|
||||
elog(ERROR, "procNumber out of range");
|
||||
|
||||
SetLatch(&ProcGlobal->allProcs[procNumber].procLatch);
|
||||
SetLatch(&GetPGProcByNumber(procNumber)->procLatch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user