0003-Quickly-bail-if-queue-tail-can-t-be-moved.patch
text/x-patch
Filename: 0003-Quickly-bail-if-queue-tail-can-t-be-moved.patch
Type: text/x-patch
Part: 0
Patch
Format: format-patch
Series: patch 0003
Subject: Quickly bail if queue tail can't be moved.
| File | + | − |
|---|---|---|
| src/backend/commands/async.c | 4 | 0 |
From 67cc65b0c98d8282602b414d0ffaff158bf887f7 Mon Sep 17 00:00:00 2001
From: Martijn van Oosterhout <oosterhout@fox-it.com>
Date: Tue, 4 Jun 2019 16:14:31 +0200
Subject: [PATCH 3/3] Quickly bail if queue tail can't be moved.
---
src/backend/commands/async.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c
index 18bd3e975e..f0a5a2472f 100644
--- a/src/backend/commands/async.c
+++ b/src/backend/commands/async.c
@@ -2022,7 +2022,11 @@ asyncQueueAdvanceTail(void)
for (i = 1; i <= MaxBackends; i++)
{
if (QUEUE_BACKEND_PID(i) != InvalidPid)
+ {
min = QUEUE_POS_MIN(min, QUEUE_BACKEND_POS(i));
+ if (QUEUE_POS_EQUAL(min, QUEUE_TAIL))
+ break;
+ }
}
oldtailpage = QUEUE_POS_PAGE(QUEUE_TAIL);
QUEUE_TAIL = min;
--
2.11.0