Re: Memory management question
- From: Jules Colding <colding omesc com>
- To: Nick_Gianakas sybari com
- Cc: ORBit2 <orbit-list gnome org>
- Subject: Re: Memory management question
- Date: Fri, 21 Jan 2005 21:59:22 +0100
On Fri, 2005-01-21 at 13:28 -0500, Nick_Gianakas sybari com wrote:
> I'm interested in this issue as well. I see OMG's C language mapping
> addresses argument result passing.
>
> The last paragraph of section 1.20 states:
> For operation results of type variable-length struct, variable-length
> union, wstring, string, sequence, array, or any, the ORB will allocate
> storage for the return value using the appropriate type-specific
> allocation function. The client may use and retain that storage
> indefinitely, and must indicate when the value is no longer needed by
> calling the procedure CORBA_free().
I read that same paragraph myself. I have come to believe, due to
comments elsewhere about marshaling and freeing by the ORB, that the
value must be copied before it is given to the ORB.
I will appreciate an authoritative answer as the documentation is rather
vague on this point.
--
jules
> Regards,
> Nick G.
>
>
>
>
>
> Jules Colding <colding omesc com>
> Sent by: orbit-list-bounces gnome org
> 01/21/2005 07:43 AM
>
> To: ORBit2 <orbit-list gnome org>
> cc:
> Subject: Memory management question
>
>
> Hi,
>
> I have an interface such as:
>
> module BRUTUS {
> union SRestriction {
> /* lots of variable sized stuff */
> };
>
> interface SRestrictionContainer {
> readonly attribute SRestriction content;
> }
> };
>
>
> The get_content() attribute method is defined as:
>
> static BRUTUS_SRestriction
> *impl_BRUTUS_SRestrictionContainer__get_content(impl_POA_BRUTUS_SRestrictionContainer
> *servant,
> CORBA_Environment *ev)
> {
> BRUTUS_SRestriction *retval;
>
> /* ------ insert method code here ------ */
> retval = &servant->attr_content;
> /* ------ ---------- end ------------ ------ */
>
> return retval;
> }
>
> So my question is now: Should I just return a pointer to attr_content as
> I do above or should I make a copy of servant->attr_content ?
>
>
> Thanks,
> jules
>
> _______________________________________________
> orbit-list mailing list
> orbit-list gnome org
> http://mail.gnome.org/mailman/listinfo/orbit-list
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]