Remove knownProcessingMode variable.
authorHeikki Linnakangas <heikki@enterprisedb.com>
Fri, 23 Jan 2009 13:55:33 +0000 (15:55 +0200)
committerHeikki Linnakangas <heikki@enterprisedb.com>
Fri, 23 Jan 2009 13:55:33 +0000 (15:55 +0200)
src/backend/access/transam/xlog.c

index 7e480e2fb2e1375448b4981dddcdbdc2ee4e8a43..e64fb48ccb5eb3a3ced54ea8b409e3283270d959 100644 (file)
@@ -126,9 +126,11 @@ bool               InRecovery = false;
 /* Are we recovering using offline XLOG archives? */
 static bool InArchiveRecovery = false;
 
-/* Local copy of shared RecoveryProcessingMode state */
+/*
+ * Local copy of shared RecoveryProcessingMode state. True actually
+ * means "not known, need to check the shared state"
+ */
 static bool LocalRecoveryProcessingMode = true;
-static bool knownProcessingMode = false;
 
 /* Was the last xlog file restored from archive, or local? */
 static bool restoredFromArchive = false;
@@ -5608,21 +5610,16 @@ StartupXLOG(void)
 bool
 IsRecoveryProcessingMode(void)
 {
-       if (knownProcessingMode && !LocalRecoveryProcessingMode)
+       if (!LocalRecoveryProcessingMode)
                return false;
-
+       else
        {
                /* use volatile pointer to prevent code rearrangement */
                volatile XLogCtlData *xlogctl = XLogCtl;
 
-               SpinLockAcquire(&xlogctl->mode_lck);
-               LocalRecoveryProcessingMode = XLogCtl->SharedRecoveryProcessingMode;
-               SpinLockRelease(&xlogctl->mode_lck);
+               LocalRecoveryProcessingMode = xlogctl->SharedRecoveryProcessingMode;
+               return LocalRecoveryProcessingMode;
        }
-
-       knownProcessingMode = true;
-
-       return LocalRecoveryProcessingMode;
 }
 
 /*