Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix variable shadowing in procarray.c.
authorFujii Masao <fujii@postgresql.org>
Thu, 16 Sep 2021 04:07:29 +0000 (13:07 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 16 Sep 2021 04:08:06 +0000 (13:08 +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 01d6022295c5d4daaec68a41735990bf19981310..3a80ca854fcae90d112088573764ff389bffbb55 100644 (file)
@@ -557,13 +557,13 @@ ProcArrayGroupClearXid(PGPROC *proc, TransactionId latestXid)
    /* Walk the list and clear all XIDs. */
    while (nextidx != INVALID_PGPROCNO)
    {
-       PGPROC     *proc = &allProcs[nextidx];
+       PGPROC     *nextproc = &allProcs[nextidx];
        PGXACT     *pgxact = &allPgXact[nextidx];
 
-       ProcArrayEndTransactionInternal(proc, pgxact, proc->procArrayGroupMemberXid);
+       ProcArrayEndTransactionInternal(nextproc, pgxact, 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. */
@@ -578,18 +578,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);
    }
 }