Thread: mbutils.c memory cxt cleanup

mbutils.c memory cxt cleanup

From
Neil Conway
Date:
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

Re: mbutils.c memory cxt cleanup

From
Neil Conway
Date:
On Wed, 2006-01-11 at 14:46 -0500, Neil Conway wrote:
> Barring any objections I'll apply this (only to HEAD) later today or
> tomorrow.

Applied.

-Neil