mbutils.c memory cxt cleanup - Mailing list pgsql-patches

From Neil Conway
Subject mbutils.c memory cxt cleanup
Date
Msg-id 1137008762.9143.88.camel@localhost.localdomain
Whole thread Raw
Responses Re: mbutils.c memory cxt cleanup  (Neil Conway <neilc@samurai.com>)
List 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

pgsql-patches by date:

Previous
From: "Andrew Dunstan"
Date:
Subject: Re: TODO-item: Add sleep() function, remove from regress.c
Next
From: Tom Lane
Date:
Subject: Re: TODO-item: Add sleep() function, remove from regress.c