From cae4974e3d4c0cb1237568b55a2cee4482d42f40 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Mon, 7 Mar 2011 00:26:30 +0000 Subject: [PATCH] Dynamic array required within pg_stat_replication. --- src/backend/replication/walsender.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 94547245fe..59521129a1 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -1322,7 +1322,7 @@ pg_stat_get_wal_senders(PG_FUNCTION_ARGS) Tuplestorestate *tupstore; MemoryContext per_query_ctx; MemoryContext oldcontext; - int sync_priority[max_wal_senders]; + int *sync_priority; int priority = 0; int sync_standby = -1; int i; @@ -1357,6 +1357,7 @@ pg_stat_get_wal_senders(PG_FUNCTION_ARGS) * lock acquisitions and to allow us to evaluate who is the current * sync standby. This code must match the code in SyncRepReleaseWaiters(). */ + sync_priority = palloc(sizeof(int) * max_wal_senders); LWLockAcquire(SyncRepLock, LW_SHARED); for (i = 0; i < max_wal_senders; i++) { @@ -1456,6 +1457,7 @@ pg_stat_get_wal_senders(PG_FUNCTION_ARGS) tuplestore_putvalues(tupstore, tupdesc, values, nulls); } + pfree(sync_priority); /* clean up and return the tuplestore */ tuplestore_donestoring(tupstore); -- 2.40.0