Re: Memory management question

From: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
To: "Nigel J(dot) Andrews" <nandrews(at)investsystems(dot)co(dot)uk>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Memory management question
Date: 2002-09-03 11:52:09
Message-ID: 20020903135209.C14392@zf.jcu.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Sep 03, 2002 at 12:28:37PM +0100, Nigel J. Andrews wrote:
>
>
> It's probably a pretty basic question explained in some document I haven't seen
> but...if I do something like a CreateTupleDescCopy() how do I know my memory
> context owns everything allocated without following the code all the way
> through until it returns to me?

If some code doesn't call MemoryContextSwitchTo() all is allocated in
current memory context. You can check if CurrentMemoryContext is same
before and after call that is important for you - but this check say
nothing, bacuse some code can switch to other context and after usage
switch back to your context. IMHO is not common way how check it.
(Ok, maybe check all contexts size before/after call...)

Suggestion: add to memory managment counter that handle number
of MemoryContextSwitchTo() calls. IMHO it can be compile
only if MEMORY_CONTEXT_CHECKING is define.

But I think there is not to much places which switching between
contexts and all are good commented (I hope, I wish :-)

Karel

--
Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
http://home.zf.jcu.cz/~zakkr/

C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gavin Sherry 2002-09-03 11:53:27 Re: Memory management question
Previous Message Nigel J. Andrews 2002-09-03 11:28:37 Memory management question