Use SetInstallXLogFileSegmentActive() in more places in xlog.c
authorMichael Paquier <[email protected]>
Wed, 17 Aug 2022 06:28:45 +0000 (15:28 +0900)
committerMichael Paquier <[email protected]>
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.