diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index a7762eafcd..70b2e1cbeb 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -8158,8 +8158,8 @@ RecoveryRestartPoint(const CheckPoint *checkPoint) * work out the next time it wants to perform a restartpoint. */ SpinLockAcquire(&xlogctl->info_lck); - XLogCtl->lastCheckPointRecPtr = ReadRecPtr; - memcpy(&XLogCtl->lastCheckPoint, checkPoint, sizeof(CheckPoint)); + xlogctl->lastCheckPointRecPtr = ReadRecPtr; + xlogctl->lastCheckPoint = *checkPoint; SpinLockRelease(&xlogctl->info_lck); } @@ -8194,7 +8194,7 @@ CreateRestartPoint(int flags) /* Get a local copy of the last safe checkpoint record. */ SpinLockAcquire(&xlogctl->info_lck); lastCheckPointRecPtr = xlogctl->lastCheckPointRecPtr; - memcpy(&lastCheckPoint, &XLogCtl->lastCheckPoint, sizeof(CheckPoint)); + lastCheckPoint = xlogctl->lastCheckPoint; SpinLockRelease(&xlogctl->info_lck); /*