From 67cc65b0c98d8282602b414d0ffaff158bf887f7 Mon Sep 17 00:00:00 2001 From: Martijn van Oosterhout 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