Hi,

I'm discovering Axis2/C and I try to write a simple program that does not leak 
memory. Without success :(

What is the proper way to free an environment created with 
axutil_env_create_all() ?


Here is a sample code that, according to Insure++, leaks 2 blocks of memory:

#include <axis2_util.h>

int main(int argc, char *argv[])
{
        const axutil_env_t *env = NULL;

        env = axutil_env_create_all("env_leak.log", AXIS2_LOG_LEVEL_TRACE);
        axutil_env_free_masked((axutil_env_t *) env, 
AXIS_ENV_FREE_LOG|AXIS_ENV_FREE_ERROR|AXIS_ENV_FREE_THREADPOOL);
        axutil_env_free((axutil_env_t *) env);
        return 0;
}


Is there any general documentation about how to manage Axis2/C memory? The 
doxygen documentation is quite light, and it lacks links to free() function 
from the ones that allocate memory.



Olivier Mengué

Reply via email to