From: Robert Haas Date: Mon, 16 Aug 2010 02:02:28 +0000 (+0000) Subject: Make LockDatabaseObject() AcceptInvalidationMessages(). X-Git-Tag: REL9_1_ALPHA1~73 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=66b14030e889f09b49b3be9b93d63a00289d73c7;p=postgresql Make LockDatabaseObject() AcceptInvalidationMessages(). This is appropriate for the same reasons we already do it in LockSharedObject(): things might have changed while we were waiting for the lock. There doesn't seem to be a live bug here at the moment, but that's mostly because it isn't currently used for very much. --- diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c index 75f2f2666e..39a0ea1deb 100644 --- a/src/backend/storage/lmgr/lmgr.c +++ b/src/backend/storage/lmgr/lmgr.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/lmgr/lmgr.c,v 1.100 2010/01/02 16:57:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/storage/lmgr/lmgr.c,v 1.101 2010/08/16 02:02:28 rhaas Exp $ * *------------------------------------------------------------------------- */ @@ -599,6 +599,9 @@ LockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, objsubid); (void) LockAcquire(&tag, lockmode, false, false); + + /* Make sure syscaches are up-to-date with any changes we waited for */ + AcceptInvalidationMessages(); } /*