From 1e29e6324ca7d52eb751c8d63881d1f7c44e3921 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Tue, 12 Jan 2016 07:33:20 +0000 Subject: [PATCH] Maintain local LogwrtResult consistently Teach GetFlushRecPtr() to update LogwrtResult cache as performed by all other functions in xlog.c --- src/backend/access/transam/xlog.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index aa905039f7..7d5d493cdc 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -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; } /*