bool oldestOffsetKnown = false;
bool prevOldestOffsetKnown;
MultiXactOffset offsetStopLimit = 0;
+ MultiXactOffset prevOffsetStopLimit;
/*
* NB: Have to prevent concurrent truncation, we might otherwise try to
nextOffset = MultiXactState->nextOffset;
prevOldestOffsetKnown = MultiXactState->oldestOffsetKnown;
prevOldestOffset = MultiXactState->oldestOffset;
+ prevOffsetStopLimit = MultiXactState->offsetStopLimit;
Assert(MultiXactState->finishedStartup);
LWLockRelease(MultiXactGenLock);
{
/*
* If we failed to get the oldest offset this time, but we have a
- * value from a previous pass through this function, use the old value
- * rather than automatically forcing it.
+ * value from a previous pass through this function, use the old
+ * values rather than automatically forcing an emergency autovacuum
+ * cycle again.
*/
oldestOffset = prevOldestOffset;
oldestOffsetKnown = true;
+ offsetStopLimit = prevOffsetStopLimit;
}
/* Install the computed values */