mbutils.c memory cxt cleanup

From: Neil Conway <neilc(at)samurai(dot)com>
To: pgsql-patches <pgsql-patches(at)postgresql(dot)org>
Subject: mbutils.c memory cxt cleanup
Date: 2006-01-11 19:46:02
Message-ID: 1137008762.9143.88.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Attached is a patch that changes mbutils.c to perform some long-term
allocations in its own memory context, rather than using
TopMemoryContext. This makes it easier to reclaim the memory that is
allocated: fmgr_info() might perform allocations in the current memory
context, so resetting that context is the most fool-proof way to
cleanup.

I had thought that resetting the FmgrInfo's fn_mcxt was the *only* way
to safely cleanup, but AFAICT there's no actual leak as long as the code
is careful to pfree() both the FmgrInfo and the FmgrInfo's fn_extra
field. However, I think that's a fragile assumption to make, and IMHO
using a separate context is cleaner anyway.

Barring any objections I'll apply this (only to HEAD) later today or
tomorrow.

-Neil

Attachment Content-Type Size
mbutils_mcxt_cleanup-1.patch text/x-patch 4.4 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-01-11 20:17:16 Re: TODO-item: Add sleep() function, remove from regress.c
Previous Message Andrew Dunstan 2006-01-11 04:14:46 Re: TODO-item: Add sleep() function, remove from regress.c