summaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2016-09-05 10:38:08 +0100
committerSimon Riggs <simon@2ndQuadrant.com>2016-09-05 10:38:08 +0100
commit016abf1fb8333de82a259af0cc7572a4b868023b (patch)
tree9b50dfce2a113b0563ddce042d1fa6582e7c4a56 /src/backend/storage/buffer/bufmgr.c
parentec03f4121cec6cf885bf40d9dfb53b8368251e99 (diff)
Add debug check function LWLockHeldByMeInMode()
Tests whether my process holds a lock in given mode. Add initial usage in MarkBufferDirty(). Thomas Munro
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r--src/backend/storage/buffer/bufmgr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 76ade3727cd..90804a3c530 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -1460,8 +1460,8 @@ MarkBufferDirty(Buffer buffer)
bufHdr = GetBufferDescriptor(buffer - 1);
Assert(BufferIsPinned(buffer));
- /* unfortunately we can't check if the lock is held exclusively */
- Assert(LWLockHeldByMe(BufferDescriptorGetContentLock(bufHdr)));
+ Assert(LWLockHeldByMeInMode(BufferDescriptorGetContentLock(bufHdr),
+ LW_EXCLUSIVE));
old_buf_state = pg_atomic_read_u32(&bufHdr->state);
for (;;)