pgsql: Fix permanent memory leak in autovacuum launcher - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Fix permanent memory leak in autovacuum launcher
Date
Msg-id E1PFZma-0004ji-Tp@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix permanent memory leak in autovacuum launcher

get_database_list was uselessly allocating its output data, along some
created along the way, in a permanent memory context.  This didn't
matter when autovacuum was a single, short-lived process, but now that
the launcher is permanent, it shows up as a permanent leak.

To fix, make get_database list allocate its output data in the caller's
context, which is in charge of freeing it when appropriate; and the
memory leaked by heap_beginscan et al is allocated in a throwaway
transaction context.

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0f0294930420133c7254ac0e3b3a40b8ad74dc80

Modified Files
--------------
src/backend/postmaster/autovacuum.c |   20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Use appendrel planning logic for top-level UNION ALL structures.
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Fix permanent memory leak in autovacuum launcher