]> granicus.if.org Git - postgresql/commitdiff
Make LockDatabaseObject() AcceptInvalidationMessages().
authorRobert Haas <rhaas@postgresql.org>
Mon, 16 Aug 2010 02:02:28 +0000 (02:02 +0000)
committerRobert Haas <rhaas@postgresql.org>
Mon, 16 Aug 2010 02:02:28 +0000 (02:02 +0000)
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.

src/backend/storage/lmgr/lmgr.c

index 75f2f2666e05e923f4d31a5e52b9de7b4dd3a892..39a0ea1deb15f1c84deb70aa56f65378efb89269 100644 (file)
@@ -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();
 }
 
 /*