Clarify some comments around SharedRecoveryState in xlog.c
authorMichael Paquier <[email protected]>
Sat, 6 Feb 2021 01:27:55 +0000 (10:27 +0900)
committerMichael Paquier <[email protected]>
Sat, 6 Feb 2021 01:27:55 +0000 (10:27 +0900)
SharedRecoveryState has been switched from a boolean to an enum as of
commit 4e87c48, but some comments still referred to it as a boolean.

Author: Amul Sul
Reviewed-by: Dilip Kumar, Kyotaro Horiguchi
Discussion: https://postgr.es/m/CAAJ_b97Hf+1SXnm8jySpO+Fhm+-VKFAAce1T_cupUYtnE3Nxig

src/backend/access/transam/xlog.c

index f03bd473e2b30d2464089f17692e5aaeca89f16f..8e3b5df7dcb86bef4c7768d3796719d217281e68 100644 (file)
@@ -7998,17 +7998,16 @@ StartupXLOG(void)
     * All done with end-of-recovery actions.
     *
     * Now allow backends to write WAL and update the control file status in
-    * consequence.  The boolean flag allowing backends to write WAL is
-    * updated while holding ControlFileLock to prevent other backends to look
-    * at an inconsistent state of the control file in shared memory.  There
-    * is still a small window during which backends can write WAL and the
-    * control file is still referring to a system not in DB_IN_PRODUCTION
+    * consequence.  SharedRecoveryState, that controls if backends can write
+    * WAL, is updated while holding ControlFileLock to prevent other backends
+    * to look at an inconsistent state of the control file in shared memory.
+    * There is still a small window during which backends can write WAL and
+    * the control file is still referring to a system not in DB_IN_PRODUCTION
     * state while looking at the on-disk control file.
     *
-    * Also, although the boolean flag to allow WAL is probably atomic in
-    * itself, we use the info_lck here to ensure that there are no race
-    * conditions concerning visibility of other recent updates to shared
-    * memory.
+    * Also, we use info_lck to update SharedRecoveryState to ensure that
+    * there are no race conditions concerning visibility of other recent
+    * updates to shared memory.
     */
    LWLockAcquire(ControlFileLock, LW_EXCLUSIVE);
    ControlFile->state = DB_IN_PRODUCTION;