Maintain local LogwrtResult consistently
authorSimon Riggs <simon@2ndQuadrant.com>
Tue, 12 Jan 2016 07:33:20 +0000 (07:33 +0000)
committerSimon Riggs <simon@2ndQuadrant.com>
Tue, 12 Jan 2016 07:33:20 +0000 (07:33 +0000)
Teach GetFlushRecPtr() to update LogwrtResult cache as performed by all other
functions in xlog.c

src/backend/access/transam/xlog.c

index aa905039f70b013cf5a233b6661c6671534730ea..7d5d493cdcd9a7e470190030091e07ba60e9d257 100644 (file)
@@ -7862,13 +7862,11 @@ GetInsertRecPtr(void)
 XLogRecPtr
 GetFlushRecPtr(void)
 {
-   XLogRecPtr  recptr;
-
    SpinLockAcquire(&XLogCtl->info_lck);
-   recptr = XLogCtl->LogwrtResult.Flush;
+   LogwrtResult = XLogCtl->LogwrtResult;
    SpinLockRelease(&XLogCtl->info_lck);
 
-   return recptr;
+   return LogwrtResult.Flush;
 }
 
 /*