Skip site navigation (1) Skip section navigation (2)

pgsql: Preserve caller's memory context in ProcessCompletedNotifies().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Preserve caller's memory context in ProcessCompletedNotifies().
Date: 2011-05-27 16:11:34
Message-ID: E1QPzdO-0005N2-5j@gemulon.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committers
Preserve caller's memory context in ProcessCompletedNotifies().

This is necessary to avoid long-term memory leakage, because the main loop
in PostgresMain expects to be executing in MessageContext, and hence is a
bit sloppy about freeing stuff that is only needed for the duration of
processing the current client message.  The known case of an actual leak
is when encoding conversion has to be done on the incoming command string,
but there might be others.  Per report from Per-Olov Esgard.

Back-patch to 9.0, where the bug was introduced by the LISTEN/NOTIFY
rewrite.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/90857b48e1f69dbca52f498bd444190d36dbd73f

Modified Files
--------------
src/backend/commands/async.c |    9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)

pgsql-committers by date

Next:From: Tom LaneDate: 2011-05-27 18:13:46
Subject: pgsql: Improve corner cases in pg_ctl's newwait-for-postmaster-startup
Previous:From: User OkbobDate: 2011-05-27 11:13:09
Subject: orafce - orafce: new files - PostgreSQL 9.1 extensions support

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group