From: Heikki Linnakangas Date: Fri, 23 Jan 2009 13:55:33 +0000 (+0200) Subject: Remove knownProcessingMode variable. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=4061ac8f84cc699bf0f417689f853791089ed472;p=users%2Fsimon%2Fpostgres.git Remove knownProcessingMode variable. --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 7e480e2fb2..e64fb48ccb 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -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; } /*