]> granicus.if.org Git - postgresql/commit
Fix longstanding race condition in transaction log management: there was a
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Nov 2005 00:23:36 +0000 (00:23 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Nov 2005 00:23:36 +0000 (00:23 +0000)
commit99d48695d4f6c5e6c7b61ba239dfe55757cbc4a2
treec54998100d1a1226ab30941345401b159304c8d0
parentced9dd36994a5f3d8f102de4bbe32fec098d612b
Fix longstanding race condition in transaction log management: there was a
very narrow window in which SimpleLruReadPage or SimpleLruWritePage could
think that I/O was needed when it wasn't (and indeed the buffer had already
been assigned to another page).  This would result in an Assert failure if
Asserts were enabled, and probably in silent data corruption if not.
Reported independently by Jim Nasby and Robert Creager.

I intend a more extensive fix when 8.2 development starts, but this is a
reasonably low-impact patch for the existing branches.
src/backend/access/transam/slru.c