mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
Fix XLogReadBufferForRedoExtended to get cleanup lock when asked to do so.
This commit is contained in:
parent
c291503b1c
commit
34402ae351
@ -312,6 +312,9 @@ XLogReadBufferForRedoExtended(XLogRecPtr lsn, XLogRecord *record,
|
|||||||
*buf = XLogReadBufferExtended(rnode, forkno, blkno, mode);
|
*buf = XLogReadBufferExtended(rnode, forkno, blkno, mode);
|
||||||
if (BufferIsValid(*buf))
|
if (BufferIsValid(*buf))
|
||||||
{
|
{
|
||||||
|
if (get_cleanup_lock)
|
||||||
|
LockBufferForCleanup(*buf);
|
||||||
|
else
|
||||||
LockBuffer(*buf, BUFFER_LOCK_EXCLUSIVE);
|
LockBuffer(*buf, BUFFER_LOCK_EXCLUSIVE);
|
||||||
if (lsn <= PageGetLSN(BufferGetPage(*buf)))
|
if (lsn <= PageGetLSN(BufferGetPage(*buf)))
|
||||||
return BLK_DONE;
|
return BLK_DONE;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user