Fix variable shadowing in procarray.c.
authorFujii Masao <fujii@postgresql.org>
Thu, 16 Sep 2021 04:06:21 +0000 (13:06 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 16 Sep 2021 04:06:21 +0000 (13:06 +0900)
ProcArrayGroupClearXid function has a parameter named "proc",
but the same name was used for its local variables. This commit fixes
this variable shadowing, to improve code readability.

Back-patch to all supported versions, to make future back-patching
easy though this patch is classified as refactoring only.

Reported-by: Ranier Vilela
Author: Ranier Vilela, Aleksander Alekseev
https://postgr.es/m/CAEudQAqyoTZC670xWi6w-Oe2_Bk1bfu2JzXz6xRfiOUzm7xbyQ@mail.gmail.com

src/backend/storage/ipc/procarray.c

index 3425e7494bceb2b9ffbb26530907be66b98f63cc..bd3c7a47fe21949ba63da26f0d692b2ee618f885 100644 (file)
@@ -840,12 +840,12 @@ ProcArrayGroupClearXid(PGPROC *proc, TransactionId latestXid)
        /* Walk the list and clear all XIDs. */
        while (nextidx != INVALID_PGPROCNO)
        {
-               PGPROC     *proc = &allProcs[nextidx];
+               PGPROC     *nextproc = &allProcs[nextidx];
 
-               ProcArrayEndTransactionInternal(proc, proc->procArrayGroupMemberXid);
+               ProcArrayEndTransactionInternal(nextproc, nextproc->procArrayGroupMemberXid);
 
                /* Move to next proc in list. */
-               nextidx = pg_atomic_read_u32(&proc->procArrayGroupNext);
+               nextidx = pg_atomic_read_u32(&nextproc->procArrayGroupNext);
        }
 
        /* We're done with the lock now. */
@@ -860,18 +860,18 @@ ProcArrayGroupClearXid(PGPROC *proc, TransactionId latestXid)
         */
        while (wakeidx != INVALID_PGPROCNO)
        {
-               PGPROC     *proc = &allProcs[wakeidx];
+               PGPROC     *nextproc = &allProcs[wakeidx];
 
-               wakeidx = pg_atomic_read_u32(&proc->procArrayGroupNext);
-               pg_atomic_write_u32(&proc->procArrayGroupNext, INVALID_PGPROCNO);
+               wakeidx = pg_atomic_read_u32(&nextproc->procArrayGroupNext);
+               pg_atomic_write_u32(&nextproc->procArrayGroupNext, INVALID_PGPROCNO);
 
                /* ensure all previous writes are visible before follower continues. */
                pg_write_barrier();
 
-               proc->procArrayGroupMember = false;
+               nextproc->procArrayGroupMember = false;
 
-               if (proc != MyProc)
-                       PGSemaphoreUnlock(proc->sem);
+               if (nextproc != MyProc)
+                       PGSemaphoreUnlock(nextproc->sem);
        }
 }