diff options
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 400fbcf1ff7..da1998a0d50 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.169 2004/05/31 20:31:33 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.170 2004/06/11 16:43:23 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -611,7 +611,12 @@ UnpinBuffer(BufferDesc *buf) Assert(PrivateRefCount[b] > 0); PrivateRefCount[b]--; if (PrivateRefCount[b] == 0) + { buf->refcount--; + /* I'd better not still hold any locks on the buffer */ + Assert(!LWLockHeldByMe(buf->cntx_lock)); + Assert(!LWLockHeldByMe(buf->io_in_progress_lock)); + } if ((buf->flags & BM_PIN_COUNT_WAITER) != 0 && buf->refcount == 1) |