Use SetInstallXLogFileSegmentActive() in more places in xlog.c
authorMichael Paquier <michael@paquier.xyz>
Wed, 17 Aug 2022 06:28:45 +0000 (15:28 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 17 Aug 2022 06:28:45 +0000 (15:28 +0900)
This reduces the code paths where XLogCtl->InstallXLogFileSegmentActive
is directly touched, and this wrapper function does the same thing as
the original code replaced by the function call.

Author: Bharath Rupireddy
Reviewed-by: Nathan Bossart
Discussion: https://postgr.es/m/CALj2ACVhkf-bC5CX-=6iBUfkO5GqmBntQH+m=HpY0iQ=-g1pRg@mail.gmail.com

src/backend/access/transam/xlog.c

index 9cedd6876f68906001be9cd6095f5b62f19d6261..87b243e0d4bb17c19829d4e208dfdd6a174df662 100644 (file)
@@ -4501,9 +4501,7 @@ BootStrapXLOG(void)
    pg_crc32c   crc;
 
    /* allow ordinary WAL segment creation, like StartupXLOG() would */
-   LWLockAcquire(ControlFileLock, LW_EXCLUSIVE);
-   XLogCtl->InstallXLogFileSegmentActive = true;
-   LWLockRelease(ControlFileLock);
+   SetInstallXLogFileSegmentActive();
 
    /*
     * Select a hopefully-unique system identifier code for this installation.
@@ -5368,9 +5366,7 @@ StartupXLOG(void)
     * Allow ordinary WAL segment creation before possibly switching to a new
     * timeline, which creates a new segment, and after the last ReadRecord().
     */
-   LWLockAcquire(ControlFileLock, LW_EXCLUSIVE);
-   XLogCtl->InstallXLogFileSegmentActive = true;
-   LWLockRelease(ControlFileLock);
+   SetInstallXLogFileSegmentActive();
 
    /*
     * Consider whether we need to assign a new timeline ID.