summaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeAppend.c
diff options
context:
space:
mode:
authorEtsuro Fujita <efujita@postgresql.org>2021-04-06 19:15:00 +0900
committerEtsuro Fujita <efujita@postgresql.org>2021-04-06 19:15:00 +0900
commita8af856d3257138590788e40eb84049def147acf (patch)
treeeeb65288b16414316a066276e2dec0d99156e9d2 /src/backend/executor/nodeAppend.c
parent82ed7748b710e3ddce3f7ebc74af80fe4869492f (diff)
downloadpostgresql-a8af856d3257138590788e40eb84049def147acf.tar.gz
Adjust input value to WaitEventSetWait() in ExecAppendAsyncEventWait().
Adjust the number of events given to WaitEventSetWait() so that it doesn't exceed the maximum number of events in the WaitEventSet given to that function (set->nevents_space) in hopes of making the buildfarm green. Per valgrind failure report from Tom Lane and the buildfarm. Author: Etsuro Fujita Discussion: https://postgr.es/m/3411577.1617289776%40sss.pgh.pa.us
Diffstat (limited to 'src/backend/executor/nodeAppend.c')
-rw-r--r--src/backend/executor/nodeAppend.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c
index 7da8ffe065..c252757268 100644
--- a/src/backend/executor/nodeAppend.c
+++ b/src/backend/executor/nodeAppend.c
@@ -1001,6 +1001,7 @@ ExecAppendAsyncEventWait(AppendState *node)
long timeout = node->as_syncdone ? -1 : 0;
WaitEvent occurred_event[EVENT_BUFFER_SIZE];
int noccurred;
+ int nevents;
int i;
/* We should never be called when there are no valid async subplans. */
@@ -1022,8 +1023,9 @@ ExecAppendAsyncEventWait(AppendState *node)
}
/* Wait for at least one event to occur. */
+ nevents = Min(node->as_nasyncplans + 1, EVENT_BUFFER_SIZE);
noccurred = WaitEventSetWait(node->as_eventset, timeout, occurred_event,
- EVENT_BUFFER_SIZE, WAIT_EVENT_APPEND_READY);
+ nevents, WAIT_EVENT_APPEND_READY);
FreeWaitEventSet(node->as_eventset);
node->as_eventset = NULL;
if (noccurred == 0)