From: Simon Riggs Date: Mon, 7 Mar 2011 00:26:30 +0000 (+0000) Subject: Dynamic array required within pg_stat_replication. X-Git-Tag: REL9_1_ALPHA4~33 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cae4974e3d4c0cb1237568b55a2cee4482d42f40;p=postgresql Dynamic array required within pg_stat_replication. --- 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);