client side memory management

2009-12-13 Thread Sam Carleton
I am looking at the hello.c sample and seeing a lot of things that are never
freed.  I am also not seeing any rules stated on who is responsible for
freeing memory on things.

For example, in the hello.c code an axis2_options_t *options is created but
at no point is it freed.  Is it automatically freed when axutil_env_free()
is called or is that an oversight in the example?

Another example is in the build_om_request method, it looks like
axiom_element_create() creates both the axiom_node_t* greet_om_node
and axiom_element_t * greet_om_ele, but at no point do I see either being
freed.  Does the axis2_svc_client_send_receive() free them or is this also
an oversight in the example?

Sam


Re: client side memory management

2009-12-13 Thread Damitha Kumarage

Sam Carleton wrote:
I am looking at the hello.c sample and seeing a lot of things that are 
never freed.  I am also not seeing any rules stated on who is 
responsible for freeing memory on things. 

See whether this would help [1]

Thanks,
Damitha
[1] 
http://damithakumarage.wordpress.com/2009/03/07/memory-handling-conventions-in-axis2c/


For example, in the hello.c code an axis2_options_t *options is 
created but at no point is it freed.  Is it automatically freed 
when axutil_env_free() is called or is that an oversight in the example?  

Another example is in the build_om_request method, it looks like 
axiom_element_create() creates both the axiom_node_t* greet_om_node 
and axiom_element_t * greet_om_ele, but at no point do I see either 
being freed.  Does the axis2_svc_client_send_receive() free them or is 
this also an oversight in the example?


Sam



--
__

Damitha Kumarage
Technical Lead; WSO2 Inc.
Oxygenating the Web Service Platform;  http://www.wso2.com/

blog:  http://damithakumarage.wordpress.com/
__