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
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 |