Thread: Share state ( allocated memory ) across two C functions...

Share state ( allocated memory ) across two C functions...

From
"Maksim Likharev"
Date:
Hi,
I have interesting question that stops me now.
Suppose I have 2 functions

1. preparestate
2. doajob

first allocates some state using
MemoryContextAlloc(TopTransactionContext)
or something, another function using that memory.

question is how I lookup that memory in second function doajob?

Of cause I can return a handle from first function, pointer and accept
that pointer in second function, but in this case I have to check
that pointer on validity and so on...

Is there any good practice ( some way to do so ) for that?

Thank you.


Re: [HACKERS] Share state ( allocated memory ) across two C functions...

From
Joe Conway
Date:
Maksim Likharev wrote:
> Of cause I can return a handle from first function, pointer and accept
> that pointer in second function, but in this case I have to check
> that pointer on validity and so on...
>
> Is there any good practice ( some way to do so ) for that?
>

Best way I've come up with to do this is by using a hash table based on
a name lookup. See the way it's done in dblink now (as of a week or so
ago) for named persistent connections.

HTH,

Joe