]> granicus.if.org Git - postgresql/commit
Perform transaction cleanup operations in a less ad-hoc, more
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 Oct 2002 22:44:36 +0000 (22:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 Oct 2002 22:44:36 +0000 (22:44 +0000)
commit30963fc20009b98a7a2b2dcd1f2ec559d58ac6d5
tree17dece786ff908549aba18e86464890245667f95
parent68c8bce69e06ed1cb7e00fd779b6952e356b16ef
Perform transaction cleanup operations in a less ad-hoc, more
principled order; in particular ensure that all shared resources
are released before we release transaction locks.  The code used
to release locks before buffer pins, which might explain an ancient
note I have about a bufmgr assertion failure I'd seen once several
years ago, and been unable to reproduce since.  (Theory: someone
trying to drop a relation might be able to reach FlushRelationBuffers
before the last user of the relation had gotten around to dropping
his buffer pins.)
src/backend/access/transam/xact.c