summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/storage/buffer/bufmgr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index e8544acb784..00719c7aea2 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -6685,6 +6685,8 @@ EvictAllUnpinnedBuffers(int32 *buffers_evicted, int32 *buffers_flushed,
uint32 buf_state;
bool buffer_flushed;
+ CHECK_FOR_INTERRUPTS();
+
buf_state = pg_atomic_read_u32(&desc->state);
if (!(buf_state & BM_VALID))
continue;
@@ -6735,6 +6737,8 @@ EvictRelUnpinnedBuffers(Relation rel, int32 *buffers_evicted,
uint32 buf_state = pg_atomic_read_u32(&(desc->state));
bool buffer_flushed;
+ CHECK_FOR_INTERRUPTS();
+
/* An unlocked precheck should be safe and saves some cycles. */
if ((buf_state & BM_VALID) == 0 ||
!BufTagMatchesRelFileLocator(&desc->tag, &rel->rd_locator))