CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@postgresql.org 02/10/22 18:44:37
Modified files:
src/backend/access/transam: xact.c
Log message:
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.)