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-0004jh-UQ@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
------
master

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

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


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Fix permanent memory leak in autovacuum launcher
Next
From: Tom Lane
Date:
Subject: pgsql: Fix error handling in temp-file deletion with log_temp_files act