diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-11-05 21:19:47 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-11-05 21:19:47 +0000 |
commit | 18691d8ee3e4729948f6348d25ee1e4bba2379fe (patch) | |
tree | f79dedfdfbfa8c50f2226f253cbe390bf1d5befd /src/backend/access/transam/clog.c | |
parent | 667ba8ccb13f09b5fd85d5e9796c891854087744 (diff) | |
download | postgresql-18691d8ee3e4729948f6348d25ee1e4bba2379fe.tar.gz postgresql-18691d8ee3e4729948f6348d25ee1e4bba2379fe.zip |
Clean up representation of SLRU page state. This is the cleaner fix
for the SLRU race condition that I posted a few days ago, but we decided
not to use in 8.1 and older branches.
Diffstat (limited to 'src/backend/access/transam/clog.c')
-rw-r--r-- | src/backend/access/transam/clog.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index f29f460ade5..44e1b9b7d3b 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -24,7 +24,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/clog.c,v 1.33 2005/10/15 02:49:09 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/clog.c,v 1.34 2005/11/05 21:19:47 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -107,7 +107,7 @@ TransactionIdSetStatus(TransactionId xid, XidStatus status) byteval |= (status << bshift); *byteptr = byteval; - ClogCtl->shared->page_status[slotno] = SLRU_PAGE_DIRTY; + ClogCtl->shared->page_dirty[slotno] = true; LWLockRelease(CLogControlLock); } @@ -175,7 +175,7 @@ BootStrapCLOG(void) /* Make sure it's written out */ SimpleLruWritePage(ClogCtl, slotno, NULL); - Assert(ClogCtl->shared->page_status[slotno] == SLRU_PAGE_CLEAN); + Assert(!ClogCtl->shared->page_dirty[slotno]); LWLockRelease(CLogControlLock); } @@ -246,7 +246,7 @@ StartupCLOG(void) /* Zero the rest of the page */ MemSet(byteptr + 1, 0, BLCKSZ - byteno - 1); - ClogCtl->shared->page_status[slotno] = SLRU_PAGE_DIRTY; + ClogCtl->shared->page_dirty[slotno] = true; } LWLockRelease(CLogControlLock); @@ -404,7 +404,7 @@ clog_redo(XLogRecPtr lsn, XLogRecord *record) slotno = ZeroCLOGPage(pageno, false); SimpleLruWritePage(ClogCtl, slotno, NULL); - Assert(ClogCtl->shared->page_status[slotno] == SLRU_PAGE_CLEAN); + Assert(!ClogCtl->shared->page_dirty[slotno]); LWLockRelease(CLogControlLock); } |