You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/02/27 04:48:24 UTC
svn commit: r381249 - in /webservices/axis2/trunk/c:
modules/core/deployment/ modules/core/description/ modules/core/engine/
modules/core/receivers/ samples/server/echo/ samples/server/math/
test/core/deployment/
Author: damitha
Date: Sun Feb 26 19:48:19 2006
New Revision: 381249
URL: http://svn.apache.org/viewcvs?rev=381249&view=rev
Log:
more memory leak fixes
Modified:
webservices/axis2/trunk/c/modules/core/deployment/arch_file_data.c
webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c
webservices/axis2/trunk/c/modules/core/deployment/module_builder.c
webservices/axis2/trunk/c/modules/core/deployment/phases_info.c
webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c
webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c
webservices/axis2/trunk/c/modules/core/description/flow.c
webservices/axis2/trunk/c/modules/core/description/flow_container.c
webservices/axis2/trunk/c/modules/core/description/module_desc.c
webservices/axis2/trunk/c/modules/core/description/op.c
webservices/axis2/trunk/c/modules/core/description/param.c
webservices/axis2/trunk/c/modules/core/description/svc.c
webservices/axis2/trunk/c/modules/core/description/svc_grp.c
webservices/axis2/trunk/c/modules/core/engine/conf.c
webservices/axis2/trunk/c/modules/core/engine/disp.c
webservices/axis2/trunk/c/modules/core/engine/disp_checker.c
webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c
webservices/axis2/trunk/c/samples/server/echo/echo_skeleton.c
webservices/axis2/trunk/c/samples/server/math/math_skeleton.c
webservices/axis2/trunk/c/test/core/deployment/test_deployment.c
Modified: webservices/axis2/trunk/c/modules/core/deployment/arch_file_data.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/arch_file_data.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/arch_file_data.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/arch_file_data.c Sun Feb 26 19:48:19 2006
@@ -439,7 +439,7 @@
AXIS2_FREE((*env)->allocator, file_data_impl->module_dll_name);
file_data_impl->module_dll_name = NULL;
}
- file_data_impl->module_dll_name = module_dll_name;
+ file_data_impl->module_dll_name = AXIS2_STRDUP(module_dll_name, env);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c Sun Feb 26 19:48:19 2006
@@ -29,7 +29,6 @@
{
axis2_arch_reader_t arch_reader;
axis2_desc_builder_t *desc_builder;
- axis2_module_builder_t *module_builder;
} axis2_arch_reader_impl_t;
@@ -91,9 +90,8 @@
return NULL;
}
- arch_reader_impl->arch_reader.ops = NULL;
arch_reader_impl->desc_builder = NULL;
- arch_reader_impl->module_builder = NULL;
+ arch_reader_impl->arch_reader.ops = NULL;
arch_reader_impl->arch_reader.ops =
AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_arch_reader_ops_t));
@@ -126,25 +124,18 @@
{
axis2_arch_reader_impl_t *arch_reader_impl = NULL;
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
arch_reader_impl = AXIS2_INTF_TO_IMPL(arch_reader);
if(NULL != arch_reader->ops)
- AXIS2_FREE((*env)->allocator, arch_reader->ops);
-
- if(NULL != arch_reader_impl->desc_builder)
+ AXIS2_FREE((*env)->allocator, arch_reader->ops);
+
+ if(arch_reader_impl->desc_builder)
{
AXIS2_DESC_BUILDER_FREE(arch_reader_impl->desc_builder, env);
arch_reader_impl->desc_builder = NULL;
}
- if(NULL != arch_reader_impl->module_builder)
- {
- AXIS2_MODULE_BUILDER_FREE(arch_reader_impl->module_builder, env);
- arch_reader_impl->module_builder = NULL;
- }
-
if(arch_reader_impl)
{
AXIS2_FREE((*env)->allocator, arch_reader_impl);
@@ -369,6 +360,7 @@
AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
+ AXIS2_FREE((*env)->allocator, svcs_xml);
return status;
}
@@ -390,10 +382,16 @@
AXIS2_PARAM_CHECK((*env)->error, dep_engine, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svc_grp, AXIS2_FAILURE);
arch_reader_impl = AXIS2_INTF_TO_IMPL(arch_reader);
-
- arch_reader_impl->desc_builder = axis2_desc_builder_create_with_file_and_dep_engine(env,
- svc_xml, dep_engine);
- if(!(arch_reader_impl->desc_builder))
+
+ if(arch_reader_impl->desc_builder)
+ {
+ AXIS2_DESC_BUILDER_FREE(arch_reader_impl->desc_builder, env);
+ arch_reader_impl->desc_builder = NULL;
+ }
+ arch_reader_impl->desc_builder =
+ axis2_desc_builder_create_with_file_and_dep_engine(env, svc_xml,
+ dep_engine);
+ if(!arch_reader_impl->desc_builder)
{
return AXIS2_FAILURE;
}
@@ -456,6 +454,7 @@
grp_builder = axis2_svc_grp_builder_create_with_svc_and_dep_engine(env,
svcs, dep_engine);
status = AXIS2_SVC_GRP_BUILDER_POPULATE_SVC_GRP(grp_builder, env, svc_grp);
+ AXIS2_SVC_GRP_BUILDER_FREE(grp_builder, env);
}
return status;
}
@@ -504,20 +503,12 @@
if(AXIS2_SUCCESS == status)
{
- if(arch_reader_impl->module_builder)
- {
- AXIS2_MODULE_BUILDER_FREE(arch_reader_impl->module_builder, env);
- arch_reader_impl->module_builder = NULL;
- }
- arch_reader_impl->module_builder =
+ axis2_module_builder_t *module_builder = NULL;
+ module_builder =
axis2_module_builder_create_with_file_and_dep_engine_and_module(env,
module_xml, dep_engine, module_desc);
- status = AXIS2_MODULE_BUILDER_POPULATE_MODULE(arch_reader_impl->
- module_builder, env);
- if(AXIS2_SUCCESS != status)
- {
- return AXIS2_FAILURE;
- }
+ status = AXIS2_MODULE_BUILDER_POPULATE_MODULE(module_builder, env);
+ AXIS2_MODULE_BUILDER_FREE(module_builder, env);
}
else
{
@@ -525,6 +516,7 @@
AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE, AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
+ AXIS2_FREE((*env)->allocator, module_xml);
return status;
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Sun Feb 26 19:48:19 2006
@@ -662,6 +662,7 @@
trs_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(transport_element, env,
qattname);
}
+ AXIS2_QNAME_FREE(qattname, env);
if(NULL != trs_name)
{
axis2_char_t *name = NULL;
@@ -691,6 +692,7 @@
name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_name, env);
qname = axis2_qname_create(env, name, NULL, NULL);
transport_out = axis2_transport_out_desc_create_with_qname(env, qname);
+ AXIS2_QNAME_FREE(qname, env);
if(NULL == transport_out)
{
return AXIS2_FAILURE;
@@ -700,6 +702,7 @@
qdllname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
trs_dll_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(transport_element, env,
qdllname);
+ AXIS2_QNAME_FREE(qdllname, env);
if(NULL == trs_dll_att)
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_TRANSPORT_SENDER_ERROR,
@@ -738,6 +741,7 @@
qparamst = axis2_qname_create(env, AXIS2_PARAMETERST, NULL, NULL);
itr = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(transport_element,
env, qparamst, transport_node);
+ AXIS2_QNAME_FREE(qparamst, env);
AXIS2_DESC_BUILDER_PROCESS_PARAMS(conf_builder->desc_builder, env,
itr, transport_out->param_container, builder_impl->conf->
param_container);
@@ -746,6 +750,7 @@
qinflowst = axis2_qname_create(env, AXIS2_INFLOWST, NULL, NULL);
in_flow_element = AXIS2_OM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(
transport_element, env, qinflowst, transport_node, &in_flow_node);
+ AXIS2_QNAME_FREE(qinflowst, env);
if(NULL != in_flow_element)
{
AXIS2_ERROR_SET((*env)->error,
@@ -755,6 +760,7 @@
qoutflowst = axis2_qname_create(env, AXIS2_OUTFLOWST, NULL, NULL);
out_flow_element = AXIS2_OM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(
transport_element, env, qoutflowst, transport_node, &out_flow_node);
+ AXIS2_QNAME_FREE(qoutflowst, env);
if(NULL != out_flow_element)
{
axis2_flow_t *flow = NULL;
@@ -774,6 +780,7 @@
in_fault_flow_element = AXIS2_OM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(
transport_element, env, qinfaultflowst, transport_node,
&in_fault_flow_node);
+ AXIS2_QNAME_FREE(qinfaultflowst, env);
if(NULL != in_fault_flow_element)
{
AXIS2_ERROR_SET((*env)->error,
@@ -786,6 +793,7 @@
out_fault_flow_element = AXIS2_OM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(
transport_element, env, qoutfaultflowst, transport_node,
&out_fault_flow_node);
+ AXIS2_QNAME_FREE(qoutfaultflowst, env);
if(NULL != out_fault_flow_element)
{
axis2_flow_t *flow = NULL;
Modified: webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Sun Feb 26 19:48:19 2006
@@ -550,14 +550,17 @@
int size = 0;
int i = 0;
- /*size = AXIS2_ARRAY_LIST_SIZE(dep_engine_impl->module_list, env);
+ size = AXIS2_ARRAY_LIST_SIZE(dep_engine_impl->module_list, env);
for(i = 0; i < size; i++)
{
axis2_qname_t *qname = NULL;
qname = AXIS2_ARRAY_LIST_GET(dep_engine_impl->module_list, env, i);
- AXIS2_QNAME_FREE(qname, env);
- qname = NULL;
- }*/
+ if(qname)
+ {
+ AXIS2_QNAME_FREE(qname, env);
+ qname = NULL;
+ }
+ }
AXIS2_ARRAY_LIST_FREE(dep_engine_impl->module_list, env);
dep_engine_impl->module_list = NULL;
}
@@ -616,7 +619,10 @@
{
dep_engine_impl->module_list = axis2_array_list_create(env, 0);
if(!dep_engine_impl->module_list)
+ {
+ AXIS2_QNAME_FREE(qname, env);
return AXIS2_FAILURE;
+ }
}
return AXIS2_ARRAY_LIST_ADD(dep_engine_impl->module_list, env, qname);
}
@@ -920,7 +926,6 @@
return NULL;
}
- AXIS2_CONF_SET_DEP_ENGINE(dep_engine_impl->conf, env, dep_engine);
return dep_engine_impl->conf;
}
@@ -986,14 +991,15 @@
size = AXIS2_ARRAY_LIST_SIZE(dep_engine_impl->module_list, env);
for(i = 0; i < size; i++)
{
- axis2_qname_t *qname = (axis2_qname_t *) AXIS2_ARRAY_LIST_GET(
+ axis2_qname_t *qname = NULL;
+ qname = (axis2_qname_t *) AXIS2_ARRAY_LIST_GET(
dep_engine_impl->module_list, env, i);
if (qname && dep_engine_impl->conf)
{
status = AXIS2_CONF_ENGAGE_MODULE(dep_engine_impl->conf, env, qname);
if(AXIS2_SUCCESS != status)
{
- return AXIS2_FAILURE;
+ return status;
}
}
}
@@ -1281,7 +1287,11 @@
axis2_class_loader_init(env);
module = (axis2_module_t *) axis2_class_loader_create_dll(env,
impl_info_param);
-
+ /* We cannot free the created impl_info_param here because by freeing
+ * so, it will free dll_desc which in turn unload the module. So we
+ * add this as a param to module_desc
+ */
+ AXIS2_MODULE_DESC_ADD_PARAM(module_desc, env, impl_info_param);
return AXIS2_MODULE_DESC_SET_MODULE(module_desc, env, module);
}
@@ -1477,6 +1487,7 @@
axis2_svc_grp_t *svc_grp = NULL;
axis2_char_t *file_name = NULL;
axis2_module_desc_t *meta_data = NULL;
+ axis2_arch_reader_t *arch_reader = NULL;
dep_engine_impl->curr_file = (axis2_arch_file_data_t *)
AXIS2_ARRAY_LIST_GET(dep_engine_impl->ws_to_deploy, env, i);
@@ -1485,13 +1496,7 @@
switch (type)
{
case AXIS2_SVC:
- if(dep_engine_impl->arch_reader)
- {
- AXIS2_ARCH_READER_FREE(dep_engine_impl->arch_reader, env);
- dep_engine_impl->arch_reader = NULL;
- }
- dep_engine_impl->arch_reader = axis2_arch_reader_create(env);
-
+ arch_reader = axis2_arch_reader_create(env);
/* TODO archiveReader.processWSDLs(currentArchiveFile,this); */
/* AxisService service = archiveReader.createService(currentArchiveFile.getAbsolutePath()); */
@@ -1499,7 +1504,7 @@
dep_engine_impl->conf);
file_name = AXIS2_ARCH_FILE_DATA_GET_NAME(dep_engine_impl->
curr_file, env);
- status = AXIS2_ARCH_READER_PROCESS_SVC_GRP(dep_engine_impl->arch_reader, env,
+ status = AXIS2_ARCH_READER_PROCESS_SVC_GRP(arch_reader, env,
file_name, dep_engine, svc_grp);
if(AXIS2_SUCCESS != status)
{
@@ -1520,11 +1525,7 @@
dep_engine_impl->curr_file = NULL;
break;
case AXIS2_MODULE:
- if(dep_engine_impl->arch_reader)
- {
- AXIS2_ARCH_READER_FREE(dep_engine_impl->arch_reader, env);
- dep_engine_impl->arch_reader = NULL;
- }
+ arch_reader = axis2_arch_reader_create(env);
dep_engine_impl->arch_reader = axis2_arch_reader_create(env);
meta_data = axis2_module_desc_create(env);
file_name = AXIS2_ARCH_FILE_DATA_GET_NAME(dep_engine_impl->
@@ -1551,8 +1552,8 @@
metaData.getName().getLocalPart())); */
dep_engine_impl->curr_file = NULL;
break;
-
}
+ AXIS2_ARCH_READER_FREE(arch_reader, env);
}
}
return AXIS2_SUCCESS;
@@ -1725,17 +1726,16 @@
file_name = AXIS2_FILE_GET_NAME(module_archive, env);
status = AXIS2_ARCH_READER_READ_MODULE_ARCH(arch_reader, env, file_name,
dep_engine, module_desc);
+ AXIS2_ARCH_READER_FREE(arch_reader, env);
if(AXIS2_SUCCESS != status)
{
AXIS2_MODULE_DESC_FREE(module_desc, env);
- AXIS2_ARCH_READER_FREE(arch_reader, env);
return NULL;
}
status = axis2_dep_engine_load_module_dll(dep_engine, env, module_desc);
if(AXIS2_SUCCESS != status)
{
AXIS2_MODULE_DESC_FREE(module_desc, env);
- AXIS2_ARCH_READER_FREE(arch_reader, env);
return NULL;
}
@@ -1771,9 +1771,7 @@
}
dep_engine_impl->curr_file = NULL;
- AXIS2_ARCH_READER_FREE(arch_reader, env);
- /*axismodule.setModuleClassLoader(currentArchiveFile.getClassLoader()); */
return module_desc;
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c Sun Feb 26 19:48:19 2006
@@ -261,8 +261,7 @@
axis2_om_document_t *document = NULL;
axis2_om_node_t *root = NULL;
- AXIS2_ENV_CHECK(env, NULL);
-
+ AXIS2_ENV_CHECK(env, NULL);
desc_builder_impl = AXIS2_INTF_TO_IMPL(desc_builder);
if(!desc_builder_impl->file_name)
@@ -330,9 +329,9 @@
return NULL;
}
- if(NULL == flow_element)
+ if(!flow_element)
{
- return flow;
+ return NULL;
}
qchild = axis2_qname_create(env, AXIS2_HANDLERST, NULL, NULL);
@@ -344,7 +343,7 @@
while(AXIS2_TRUE == AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(handlers ,env))
{
axis2_om_node_t *handler_node = NULL;
- struct axis2_handler_desc *handler = NULL;
+ axis2_handler_desc_t *handler = NULL;
axis2_status_t status = AXIS2_FAILURE;
handler_node = (axis2_om_node_t *)
@@ -827,8 +826,10 @@
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK((*env)->error, recv_element, NULL);
+
class_qname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
recv_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(recv_element, env, class_qname);
+ AXIS2_QNAME_FREE(class_qname, env);
class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(recv_name, env);
msg_recv_dll_name =
AXIS2_DLL_DESC_CREATE_PLATFORM_SPECIFIC_DLL_NAME(dll_desc, env,
Modified: webservices/axis2/trunk/c/modules/core/deployment/module_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/module_builder.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/module_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/module_builder.c Sun Feb 26 19:48:19 2006
@@ -353,7 +353,8 @@
axis2_flow_t *flow = AXIS2_DESC_BUILDER_PROCESS_FLOW(module_builder->
desc_builder, env, out_fault_flow_element, builder_impl->module_desc->
params, out_fault_flow_node);
- status = AXIS2_MODULE_DESC_SET_FAULT_OUTFLOW(builder_impl->module_desc, env, flow);
+ status = AXIS2_MODULE_DESC_SET_FAULT_OUTFLOW(builder_impl->module_desc,
+ env, flow);
if(AXIS2_SUCCESS != status)
{
return status;
@@ -375,6 +376,7 @@
op = (axis2_op_t *) AXIS2_ARRAY_LIST_GET(ops, env, i);
AXIS2_MODULE_DESC_ADD_OP(builder_impl->module_desc, env, op);
}
+ AXIS2_ARRAY_LIST_FREE(ops, env);
AXIS2_LOG_TRACE((*env)->log, AXIS2_LOG_SI, "axis2_module_builder_populate_module end");
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/phases_info.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/phases_info.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/phases_info.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/phases_info.c Sun Feb 26 19:48:19 2006
@@ -167,6 +167,77 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ if(phases_info_impl->in_phases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_phases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->in_phases, env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->in_phases, env);
+ phases_info_impl->in_phases = NULL;
+ }
+
+ if(phases_info_impl->out_phases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_phases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->out_phases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->out_phases, env);
+ phases_info_impl->out_phases = NULL;
+ }
+
+ if(phases_info_impl->in_faultphases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_faultphases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->in_faultphases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->in_faultphases, env);
+ phases_info_impl->in_faultphases = NULL;
+ }
+
+ if(phases_info_impl->out_faultphases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_faultphases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->out_faultphases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->out_faultphases, env);
+ phases_info_impl->out_faultphases = NULL;
+ }
+
if(NULL != phases_info->ops)
{
AXIS2_FREE((*env)->allocator, phases_info->ops);
@@ -188,15 +259,30 @@
axis2_env_t **env,
axis2_array_list_t *in_phases)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, in_phases, AXIS2_FAILURE);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
- if(info_impl->in_phases)
- AXIS2_ARRAY_LIST_FREE(info_impl->in_phases, env);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ if(phases_info_impl->in_phases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_phases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->in_phases, env,
+ i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->in_phases, env);
+ phases_info_impl->in_phases = NULL;
+ }
- info_impl->in_phases = in_phases;
+ phases_info_impl->in_phases = in_phases;
return AXIS2_SUCCESS;
}
@@ -205,15 +291,30 @@
axis2_env_t **env,
axis2_array_list_t *out_phases)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, out_phases, AXIS2_FAILURE);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
- if(info_impl->out_phases)
- AXIS2_ARRAY_LIST_FREE(info_impl->out_phases, env);
- info_impl->out_phases = out_phases;
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ if(phases_info_impl->out_phases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_phases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->out_phases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->out_phases, env);
+ phases_info_impl->out_phases = NULL;
+ }
+ phases_info_impl->out_phases = out_phases;
return AXIS2_SUCCESS;
}
@@ -222,15 +323,30 @@
axis2_env_t **env,
axis2_array_list_t *in_faultphases)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, in_faultphases, AXIS2_FAILURE);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
- if(info_impl->in_faultphases)
- AXIS2_ARRAY_LIST_FREE(info_impl->in_faultphases, env);
- info_impl->in_faultphases = in_faultphases;
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ if(phases_info_impl->in_faultphases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_faultphases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->in_faultphases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->in_faultphases, env);
+ phases_info_impl->in_faultphases = NULL;
+ }
+ phases_info_impl->in_faultphases = in_faultphases;
return AXIS2_SUCCESS;
}
@@ -239,16 +355,30 @@
axis2_env_t **env,
axis2_array_list_t * out_faultphases)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, out_faultphases, AXIS2_FAILURE);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
- if(info_impl->out_faultphases)
- AXIS2_ARRAY_LIST_FREE(info_impl->out_faultphases, env);
-
- info_impl->out_faultphases = out_faultphases;
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ if(phases_info_impl->out_faultphases)
+ {
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_faultphases, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_char_t *phase_name = NULL;
+
+ phase_name = AXIS2_ARRAY_LIST_GET(phases_info_impl->out_faultphases,
+ env, i);
+ AXIS2_FREE((*env)->allocator, phase_name);
+ }
+ AXIS2_ARRAY_LIST_FREE(phases_info_impl->out_faultphases, env);
+ phases_info_impl->out_faultphases = NULL;
+ }
+ phases_info_impl->out_faultphases = out_faultphases;
return AXIS2_SUCCESS;
}
@@ -292,7 +422,7 @@
axis2_phases_info_get_op_in_phases(axis2_phases_info_t *phases_info,
axis2_env_t **env)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
struct axis2_phase *phase = NULL;
int i = 0;
int size = 0;
@@ -302,7 +432,7 @@
AXIS2_ENV_CHECK(env, NULL);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
op_in_phases = axis2_array_list_create(env, 0);
if(!op_in_phases)
{
@@ -320,14 +450,14 @@
op_in_phases = NULL;
return NULL;
}
- if(!info_impl->in_phases)
+ if(!phases_info_impl->in_phases)
{
return op_in_phases;
}
- size = AXIS2_ARRAY_LIST_SIZE(info_impl->in_phases, env);
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_phases, env);
for (i = 0; i < size; i++)
{
- phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_impl->in_phases, env, i);
+ phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(phases_info_impl->in_phases, env, i);
if (0 == AXIS2_STRCMP(AXIS2_PHASE_TRANSPORTIN, phase_name) ||
0 == AXIS2_STRCMP(AXIS2_PHASE_PRE_DISPATCH, phase_name) ||
0 == AXIS2_STRCMP(AXIS2_PHASE_DISPATCH, phase_name) ||
@@ -355,7 +485,7 @@
axis2_phases_info_get_op_out_phases(axis2_phases_info_t *phases_info,
axis2_env_t **env)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
struct axis2_phase *phase = NULL;
int i = 0;
int size = 0;
@@ -365,7 +495,7 @@
AXIS2_ENV_CHECK(env, NULL);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
op_out_phases = axis2_array_list_create(env, 0);
if(!op_out_phases)
{
@@ -373,11 +503,11 @@
return NULL;
}
- if(info_impl->out_phases)
- size = AXIS2_ARRAY_LIST_SIZE(info_impl->out_phases, env);
+ if(phases_info_impl->out_phases)
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_phases, env);
for (i = 0; i < size; i++)
{
- phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_impl->out_phases, env, i);
+ phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(phases_info_impl->out_phases, env, i);
if (0 == AXIS2_STRCMP(AXIS2_PHASE_TRANSPORT_OUT, phase_name))
{
/* Do Nothing */
@@ -423,7 +553,7 @@
axis2_phases_info_get_op_in_faultphases(axis2_phases_info_t *phases_info,
axis2_env_t **env)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
int i = 0;
int size = 0;
axis2_status_t status = AXIS2_FAILURE;
@@ -433,7 +563,7 @@
AXIS2_ENV_CHECK(env, NULL);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
op_in_faultphases = axis2_array_list_create(env, 0);
if(!op_in_faultphases)
{
@@ -441,18 +571,18 @@
return NULL;
}
- if(!info_impl->in_faultphases)
+ if(!phases_info_impl->in_faultphases)
{
return NULL;
}
- size = AXIS2_ARRAY_LIST_SIZE(info_impl->in_faultphases, env);
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->in_faultphases, env);
if(0 == size)
{
return NULL;
}
for (i = 0; i < size; i++)
{
- phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_impl->in_faultphases, env, i);
+ phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(phases_info_impl->in_faultphases, env, i);
phase = axis2_phase_create(env, phase_name);
status = AXIS2_ARRAY_LIST_ADD(op_in_faultphases, env, phase);
if(AXIS2_FAILURE == status)
@@ -472,7 +602,7 @@
axis2_phases_info_get_op_out_faultphases(axis2_phases_info_t *phases_info,
axis2_env_t **env)
{
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
int i = 0;
int size = 0;
axis2_status_t status = AXIS2_FAILURE;
@@ -482,7 +612,7 @@
AXIS2_ENV_CHECK(env, NULL);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
op_out_faultphases = axis2_array_list_create(env, 0);
if(!op_out_faultphases)
{
@@ -490,16 +620,16 @@
return NULL;
}
- if(!info_impl->out_faultphases)
+ if(!phases_info_impl->out_faultphases)
{
return NULL;
}
- size = AXIS2_ARRAY_LIST_SIZE(info_impl->out_faultphases, env);
+ size = AXIS2_ARRAY_LIST_SIZE(phases_info_impl->out_faultphases, env);
if(0 == size)
return NULL;
for (i = 0; i < size; i++)
{
- phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_impl->out_faultphases, env, i);
+ phase_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(phases_info_impl->out_faultphases, env, i);
phase = axis2_phase_create(env, phase_name);
status = AXIS2_ARRAY_LIST_ADD(op_out_faultphases, env, phase);
if(AXIS2_FAILURE == status)
@@ -526,12 +656,12 @@
axis2_array_list_t *op_in_faultphases = NULL;
axis2_array_list_t *op_out_faultphases = NULL;
- axis2_phases_info_impl_t *info_impl = NULL;
+ axis2_phases_info_impl_t *phases_info_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, axis2_opt, AXIS2_FAILURE);
- info_impl = AXIS2_INTF_TO_IMPL(phases_info);
+ phases_info_impl = AXIS2_INTF_TO_IMPL(phases_info);
op_in_phases = axis2_phases_info_get_op_in_phases(phases_info, env);
if(NULL == op_in_phases)
Modified: webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c Sun Feb 26 19:48:19 2006
@@ -240,6 +240,7 @@
axis2_repos_listener_impl_t *listener_impl = NULL;
axis2_char_t *svc_path = NULL;
axis2_char_t *temp_path = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
listener_impl = AXIS2_INTF_TO_IMPL(listener);
@@ -248,7 +249,9 @@
env);
svc_path = AXIS2_STRACAT(temp_path, AXIS2_SVC_PATH, env);
AXIS2_FREE((*env)->allocator, temp_path);
- return axis2_repos_listener_search(listener, env, svc_path, AXIS2_SVC);
+ status = axis2_repos_listener_search(listener, env, svc_path, AXIS2_SVC);
+ AXIS2_FREE((*env)->allocator, svc_path);
+ return status;
}
axis2_status_t AXIS2_CALL
@@ -259,6 +262,7 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
listener_impl = AXIS2_INTF_TO_IMPL(listener);
+
/* TODO completet this */
/* this call the update method of WSInfoList */
return AXIS2_WS_INFO_LIST_UPDATE(listener_impl->info_list, env);
@@ -364,7 +368,6 @@
}
}
- size = AXIS2_ARRAY_LIST_SIZE(current_info_list, env);
for(i = 0; i < size; i++)
{
axis2_file_t *del_file = NULL;
Modified: webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c Sun Feb 26 19:48:19 2006
@@ -366,11 +366,6 @@
AXIS2_DLL_DESC_FREE(dll_desc, env);
return AXIS2_FAILURE;
}
- /* param does not free the value, because it does not know the value type.
- * therefore we free the value
- */
- AXIS2_FREE((*env)->allocator, svc_dll_name);
- svc_dll_name = NULL;
/* free all temp vars */
AXIS2_FREE((*env)->allocator, temp_path);
temp_path = NULL;
@@ -533,7 +528,7 @@
AXIS2_PARAM_CHECK((*env)->error, op_itr, NULL);
builder_impl = AXIS2_INTF_TO_IMPL(svc_builder);
- ops = axis2_array_list_create(env, 16);
+ ops = axis2_array_list_create(env, 0);
while(AXIS2_TRUE == AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(op_itr, env))
{
axis2_om_element_t *op_element = NULL;
@@ -595,9 +590,8 @@
}
else
{
- /* TODO uncomment this when constructor is available */
- /*op_desc = axis2_op_create(env, mep_url); */
op_desc = axis2_op_create(env);
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op_desc, env, mep_url);
}
AXIS2_OP_SET_QNAME(op_desc, env, qopname);
}
@@ -613,9 +607,8 @@
}
else
{
- /* TODO uncomment this when constructor is available */
- /*op_desc = axis2_op_create(env, mep); */
op_desc = axis2_op_create(env);
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op_desc, env, mep);
AXIS2_OP_SET_WSDL_OP(op_desc, env, wsdl_op);
}
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c Sun Feb 26 19:48:19 2006
@@ -29,8 +29,7 @@
/**
* This is to store all the jar files in a specified folder (WEB_INF)
*/
- axis2_array_list_t *info_list;
-
+ axis2_array_list_t *info_list;
/**
* All the curently updated jars
*/
@@ -166,8 +165,7 @@
{
axis2_ws_info_list_impl_t *info_list_impl = NULL;
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
info_list_impl = AXIS2_INTF_TO_IMPL(ws_info_list);
if(info_list_impl->current_info_lists)
@@ -179,6 +177,7 @@
for (i = 0; i < list_size; i++)
{
axis2_char_t *file_name = NULL;
+
file_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_list_impl->
current_info_lists, env, i);
AXIS2_FREE((*env)->allocator, file_name);
@@ -284,8 +283,7 @@
status = AXIS2_ARRAY_LIST_ADD(info_list_impl->info_list, env, ws_info);
if(AXIS2_SUCCESS != status)
{
- AXIS2_FILE_FREE(file, env);
- return AXIS2_FAILURE;
+ return status;
}
file_data = axis2_arch_file_data_create_with_type_and_file(env,
AXIS2_SVC, file);
@@ -294,8 +292,7 @@
env, file_data);
if(AXIS2_SUCCESS != status)
{
- AXIS2_FILE_FREE(file, env);
- return AXIS2_FAILURE;
+ return status;
}
/*}*/
@@ -319,8 +316,7 @@
status = AXIS2_ARRAY_LIST_ADD(info_list_impl->info_list, env, ws_info);
if(AXIS2_SUCCESS != status)
{
- AXIS2_FILE_FREE(file, env);
- return AXIS2_FAILURE;
+ return status;
}
file_data = axis2_arch_file_data_create_with_type_and_file(env,
AXIS2_MODULE, file);
@@ -329,8 +325,7 @@
env, file_data);
if(AXIS2_SUCCESS != status)
{
- AXIS2_FILE_FREE(file, env);
- return AXIS2_FAILURE;
+ return status;
}
/*}*/
@@ -473,16 +468,6 @@
AXIS2_ARRAY_LIST_REMOVE(info_list_impl->info_list, env, index);
}
AXIS2_ARRAY_LIST_FREE(temp_list, env);
- list_size = AXIS2_ARRAY_LIST_SIZE(info_list_impl->current_info_lists, env);
- for (i = 0; i < list_size; i++)
- {
- axis2_char_t *file_name = NULL;
- file_name = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(info_list_impl->
- current_info_lists, env, i);
- AXIS2_FREE((*env)->allocator, file_name);
- }
- AXIS2_ARRAY_LIST_FREE(info_list_impl->current_info_lists, env);
- info_list_impl->current_info_lists = NULL;
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/description/flow.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/flow.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/flow.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/flow.c Sun Feb 26 19:48:19 2006
@@ -107,16 +107,28 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
flow_impl = AXIS2_INTF_TO_IMPL(flow);
- if(NULL != flow->ops)
- {
- AXIS2_FREE((*env)->allocator, flow->ops);
- flow->ops = NULL;
- }
-
if(NULL != flow_impl->list)
{
+ int i = 0;
+ int size = 0;
+
+ size = AXIS2_ARRAY_LIST_SIZE(flow_impl->list, env);
+ for(i = 0; i < size; i++)
+ {
+ axis2_handler_desc_t *handler_desc = NULL;
+
+ handler_desc = (axis2_handler_desc_t *) AXIS2_ARRAY_LIST_GET(
+ flow_impl->list, env, i);
+ AXIS2_HANDLER_DESC_FREE(handler_desc, env);
+ }
AXIS2_ARRAY_LIST_FREE(flow_impl->list, env);
flow_impl->list = NULL;
+ }
+
+ if(NULL != flow->ops)
+ {
+ AXIS2_FREE((*env)->allocator, flow->ops);
+ flow->ops = NULL;
}
if(flow_impl)
Modified: webservices/axis2/trunk/c/modules/core/description/flow_container.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/flow_container.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/flow_container.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/flow_container.c Sun Feb 26 19:48:19 2006
@@ -146,24 +146,42 @@
axis2_flow_container_free(axis2_flow_container_t *flow_container,
axis2_env_t **env)
{
+ axis2_flow_container_impl_t *container_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ container_impl = AXIS2_INTF_TO_IMPL(flow_container);
+ if(NULL != container_impl->in)
+ {
+ AXIS2_FLOW_FREE(container_impl->in, env);
+ container_impl->in = NULL;
+ }
+
+ if(NULL != container_impl->out)
+ {
+ AXIS2_FLOW_FREE(container_impl->out, env);
+ container_impl->out = NULL;
+ }
+
+ if(NULL != container_impl->in_fault)
+ {
+ AXIS2_FLOW_FREE(container_impl->in_fault, env);
+ container_impl->in_fault = NULL;
+ }
+
+ if(NULL != container_impl->out_fault)
+ {
+ AXIS2_FLOW_FREE(container_impl->out_fault, env);
+ container_impl->out_fault = NULL;
+ }
+
if(NULL != flow_container->ops)
AXIS2_FREE((*env)->allocator, flow_container->ops);
- if(NULL != AXIS2_INTF_TO_IMPL(flow_container)->in)
- AXIS2_FLOW_FREE(AXIS2_INTF_TO_IMPL(flow_container)->in, env);
-
- if(NULL != AXIS2_INTF_TO_IMPL(flow_container)->out)
- AXIS2_FLOW_FREE(AXIS2_INTF_TO_IMPL(flow_container)->out, env);
-
- if(NULL != AXIS2_INTF_TO_IMPL(flow_container)->in_fault)
- AXIS2_FLOW_FREE(AXIS2_INTF_TO_IMPL(flow_container)->in_fault, env);
-
- if(NULL != AXIS2_INTF_TO_IMPL(flow_container)->out_fault)
- AXIS2_FLOW_FREE(AXIS2_INTF_TO_IMPL(flow_container)->out_fault, env);
-
- AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(flow_container));
+ if(container_impl)
+ {
+ AXIS2_FREE((*env)->allocator, container_impl);
+ container_impl = NULL;
+ }
return AXIS2_SUCCESS;
}
@@ -193,6 +211,7 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
container_impl = AXIS2_INTF_TO_IMPL(flow_container);
+
if(container_impl->in)
{
AXIS2_FLOW_FREE(container_impl->in, env);
Modified: webservices/axis2/trunk/c/modules/core/description/module_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/module_desc.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/module_desc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/module_desc.c Sun Feb 26 19:48:19 2006
@@ -22,14 +22,10 @@
*/
typedef struct axis2_module_desc_impl
{
- axis2_module_desc_t module_desc;
-
+ axis2_module_desc_t module_desc;
axis2_module_t *module;
-
axis2_qname_t *qname;
-
axis2_conf_t *parent;
-
/**
* To store module opeartions , which are suppose to be added to a service
* if it is engaged to a service
@@ -349,6 +345,7 @@
AXIS2_ARRAY_LIST_GET(module_desc_list_l, env, i);
axis2_module_desc_free(module_desc, env);
}
+ AXIS2_ARRAY_LIST_FREE(module_desc_list_l, env);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/description/op.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/op.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/op.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/op.c Sun Feb 26 19:48:19 2006
@@ -1403,16 +1403,18 @@
axis2_status_t AXIS2_CALL
axis2_op_add_module(axis2_op_t *op,
axis2_env_t **env,
- axis2_qname_t *module_name)
+ axis2_qname_t *module_qname)
{
axis2_op_impl_t *op_impl = NULL;
+ axis2_qname_t *module_qname_l = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK((*env)->error, module_name, AXIS2_FAILURE);
-
+ AXIS2_PARAM_CHECK((*env)->error, module_qname, AXIS2_FAILURE);
op_impl = AXIS2_INTF_TO_IMPL(op);
- return AXIS2_ARRAY_LIST_ADD(op_impl->modulerefs, env, module_name);
+ module_qname_l = AXIS2_QNAME_CLONE(module_qname, env);
+
+ return AXIS2_ARRAY_LIST_ADD(op_impl->modulerefs, env, module_qname_l);
}
axis2_array_list_t *AXIS2_CALL
Modified: webservices/axis2/trunk/c/modules/core/description/param.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/param.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/param.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/param.c Sun Feb 26 19:48:19 2006
@@ -247,10 +247,11 @@
axis2_env_t **env)
{
void *param_value = NULL;
+ axis2_char_t *param_name = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- param_value = AXIS2_PARAM_GET_VALUE(param, env);
+ param_value = axis2_param_get_value(param, env);
if(param_value)
{
if(param->ops && param->ops->value_free)
@@ -262,6 +263,8 @@
AXIS2_FREE((*env)->allocator, param_value);
}
}
+ param_name = axis2_param_get_name(param, env);
+ AXIS2_FREE((*env)->allocator, param_name);
AXIS2_FREE((*env)->allocator, param->ops);
AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(param));
return AXIS2_SUCCESS;
Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/svc.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Sun Feb 26 19:48:19 2006
@@ -542,22 +542,6 @@
if(NULL != svc_impl->wasaction_opeartionmap)
{
/* By this time operations are already freed
- axis2_hash_index_t *hi = NULL;
- void *val = NULL;
- for (hi = axis2_hash_first (svc_impl->wasaction_opeartionmap, env); hi;
- hi = axis2_hash_next ( env, hi))
- {
- axis2_op_t *opt = NULL;
- axis2_hash_this (hi, NULL, NULL, &val);
- opt = (axis2_op_t *) val;
- if (opt)
- {
- AXIS2_OP_FREE (opt, env);
- opt = NULL;
- }
- val = NULL;
-
- }
*/
axis2_hash_free(svc_impl->wasaction_opeartionmap, env);
svc_impl->wasaction_opeartionmap = NULL;
@@ -891,7 +875,7 @@
size = AXIS2_ARRAY_LIST_SIZE(collection_module, env);
if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE((*env)->error))
{
- return AXIS2_FAILURE;
+ return AXIS2_ERROR_GET_STATUS_CODE((*env)->error);
}
for(i = 0; i < size; i++)
{
@@ -1592,11 +1576,16 @@
axis2_env_t **env,
axis2_qname_t *moduleref)
{
+ axis2_svc_impl_t *svc_impl = NULL;
+ axis2_qname_t *qmoduleref_l = NULL;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, moduleref, AXIS2_FAILURE);
-
+ svc_impl = AXIS2_INTF_TO_IMPL(svc);
+
+ qmoduleref_l = AXIS2_QNAME_CLONE(moduleref, env);
return AXIS2_ARRAY_LIST_ADD(AXIS2_INTF_TO_IMPL(svc)->module_list, env,
- moduleref);
+ qmoduleref_l);
}
axis2_array_list_t *AXIS2_CALL
Modified: webservices/axis2/trunk/c/modules/core/description/svc_grp.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/svc_grp.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc_grp.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc_grp.c Sun Feb 26 19:48:19 2006
@@ -284,10 +284,11 @@
axis2_hash_this (hi, NULL, NULL, &val);
svc = (axis2_svc_t *) val;
if (svc)
- AXIS2_SVC_FREE (svc, env);
-
+ {
+ AXIS2_SVC_FREE (svc, env);
+ svc = NULL;
+ }
val = NULL;
- svc = NULL;
}
axis2_hash_free(svc_grp_impl->svcs, env);
@@ -342,22 +343,18 @@
axis2_char_t *name)
{
axis2_svc_grp_impl_t *svc_grp_impl = NULL;
- axis2_char_t *svc_grp_name_l = NULL;
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
svc_grp_impl = AXIS2_INTF_TO_IMPL(svc_grp);
-
- svc_grp_name_l = AXIS2_STRDUP(name, env);
- if(NULL == svc_grp_name_l)
+
+ if(svc_grp_impl->svc_grp_name)
+ AXIS2_FREE((*env)->allocator, svc_grp_impl->svc_grp_name);
+ svc_grp_impl->svc_grp_name = AXIS2_STRDUP(name, env);
+ if(!svc_grp_impl->svc_grp_name)
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return AXIS2_FAILURE;
}
-
- if(svc_grp_impl->svc_grp_name)
- AXIS2_FREE((*env)->allocator, svc_grp_impl->svc_grp_name);
- svc_grp_impl->svc_grp_name = name;
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/core/engine/conf.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/conf.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/conf.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/conf.c Sun Feb 26 19:48:19 2006
@@ -632,10 +632,12 @@
axis2_hash_this (hi, NULL, NULL, &val);
transport_out = (axis2_transport_out_desc_t *) val;
if (transport_out)
+ {
AXIS2_TRANSPORT_OUT_DESC_FREE (transport_out, env);
+ transport_out = NULL;
+ }
val = NULL;
- transport_out = NULL;
}
axis2_hash_free(config_impl->transports_out, env);
@@ -653,11 +655,12 @@
axis2_hash_this (hi, NULL, NULL, &val);
module_desc = (axis2_module_desc_t *) val;
if (module_desc)
- AXIS2_MODULE_DESC_FREE (module_desc, env);
+ {
+ AXIS2_MODULE_DESC_FREE (module_desc, env);
+ module_desc = NULL;
+ }
val = NULL;
- module_desc = NULL;
-
}
axis2_hash_free(config_impl->modules, env);
config_impl->modules = NULL;
@@ -1624,6 +1627,7 @@
return AXIS2_FAILURE;
}
handler = AXIS2_DISP_GET_BASE(add_dispatch, env);
+ AXIS2_DISP_FREE(add_dispatch, env);
AXIS2_PHASE_ADD_HANDLER_AT(dispatch, env, 0, handler);
handler = NULL;
@@ -1633,6 +1637,7 @@
return AXIS2_FAILURE;
}
handler = AXIS2_DISP_GET_BASE(uri_dispatch, env);
+ AXIS2_DISP_FREE(uri_dispatch, env);
AXIS2_PHASE_ADD_HANDLER_AT(dispatch, env, 1, handler);
handler = NULL;
@@ -1642,6 +1647,7 @@
return AXIS2_FAILURE;
}
handler = AXIS2_DISP_GET_BASE(soap_action_based_dispatch, env);
+ AXIS2_DISP_FREE(soap_action_based_dispatch, env);
AXIS2_PHASE_ADD_HANDLER_AT(dispatch, env, 2, handler);
handler = NULL;
@@ -1651,6 +1657,7 @@
return AXIS2_FAILURE;
}
handler = AXIS2_DISP_GET_BASE(soap_msg_body_based_dispatch, env);
+ AXIS2_DISP_FREE(soap_msg_body_based_dispatch, env);
AXIS2_PHASE_ADD_HANDLER_AT(dispatch, env, 3, handler);
handler = NULL;
@@ -1671,6 +1678,7 @@
disp_checker = axis2_disp_checker_create(env, NULL);
handler = AXIS2_DISP_CHECKER_GET_BASE(disp_checker, env);
+ AXIS2_DISP_CHECKER_FREE(disp_checker, env);
AXIS2_PHASE_ADD_HANDLER_AT(post_dispatch, env, 0, handler);
handler = NULL;
@@ -1679,12 +1687,11 @@
status = AXIS2_ARRAY_LIST_ADD(config_impl->
in_phases_upto_and_including_post_dispatch, env, post_dispatch);
- if(AXIS2_FAILURE == status)
+ if(AXIS2_SUCCESS != status)
{
AXIS2_PHASE_FREE(dispatch, env);
AXIS2_PHASE_FREE(post_dispatch, env);
- AXIS2_DISP_CHECKER_FREE(disp_checker, env);
- return AXIS2_FAILURE;
+ return status;
}
return AXIS2_SUCCESS;
}
@@ -1824,6 +1831,8 @@
if (to_be_engaged)
{
axis2_phase_resolver_t *phase_resolver = NULL;
+ axis2_qname_t *module_qref_l = NULL;
+
phase_resolver = axis2_phase_resolver_create_with_config(env, conf);
if(!phase_resolver)
{
@@ -1837,8 +1846,9 @@
{
return AXIS2_FAILURE;
}
+ module_qref_l = AXIS2_QNAME_CLONE(module_ref, env);
status = AXIS2_ARRAY_LIST_ADD(config_impl->engaged_modules, env,
- module_ref);
+ module_qref_l);
}
if (is_new_module)
{
Modified: webservices/axis2/trunk/c/modules/core/engine/disp.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/disp.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/disp.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/disp.c Sun Feb 26 19:48:19 2006
@@ -227,12 +227,12 @@
disp_impl->qname = NULL;
}
- if (disp_impl->base)
+ /*if (disp_impl->base)
{
axis2_handler_desc_t *handler_desc = AXIS2_HANDLER_GET_HANDLER_DESC(disp_impl->base, env);
- AXIS2_HANDLER_DESC_FREE(handler_desc, env); /* freeing handler desc frees handler */
+ AXIS2_HANDLER_DESC_FREE(handler_desc, env); // freeing handler desc frees handler
disp_impl->base = NULL;
- }
+ }*/
if (disp_impl->disp.ops)
{
Modified: webservices/axis2/trunk/c/modules/core/engine/disp_checker.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/disp_checker.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/disp_checker.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/disp_checker.c Sun Feb 26 19:48:19 2006
@@ -168,13 +168,15 @@
AXIS2_QNAME_FREE(disp_checker_impl->qname, env);
disp_checker_impl->qname = NULL;
}
-
- if (disp_checker_impl->base)
+ /* Hi Samisa !. Do I think we should not free handler_desc here. So I
+ * commented this
+ */
+ /*if (disp_checker_impl->base)
{
axis2_handler_desc_t *handler_desc = AXIS2_HANDLER_GET_HANDLER_DESC(disp_checker_impl->base, env);
- AXIS2_HANDLER_DESC_FREE(handler_desc, env); /* freeing handler desc frees handler */
+ AXIS2_HANDLER_DESC_FREE(handler_desc, env); // freeing handler desc frees handler
disp_checker_impl->base = NULL;
- }
+ }*/
if (disp_checker_impl->disp_checker.ops)
{
Modified: webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c (original)
+++ webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c Sun Feb 26 19:48:19 2006
@@ -140,7 +140,10 @@
axis2_bool_t matches = AXIS2_FALSE;
function_arr = svc_obj->func_array;
- size = AXIS2_ARRAY_LIST_SIZE(function_arr, env);
+ if(function_arr)
+ {
+ size = AXIS2_ARRAY_LIST_SIZE(function_arr, env);
+ }
for (i = 0; i < size; i++)
{
@@ -192,7 +195,7 @@
{
skel_invoked = AXIS2_TRUE;
result_node = AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node);
- AXIS2_SVC_SKELETON_FREE(svc_obj, env);
+ /*AXIS2_SVC_SKELETON_FREE(svc_obj, env);*/
}
if (result_node)
Modified: webservices/axis2/trunk/c/samples/server/echo/echo_skeleton.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/server/echo/echo_skeleton.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/server/echo/echo_skeleton.c (original)
+++ webservices/axis2/trunk/c/samples/server/echo/echo_skeleton.c Sun Feb 26 19:48:19 2006
@@ -69,16 +69,16 @@
echo_free(axis2_svc_skeleton_t *svc_skeleton,
axis2_env_t **env)
{
- if(svc_skeleton->ops)
- {
- AXIS2_FREE((*env)->allocator, svc_skeleton->ops);
- svc_skeleton->ops = NULL;
- }
-
if(svc_skeleton->func_array)
{
AXIS2_ARRAY_LIST_FREE(svc_skeleton->func_array, env);
svc_skeleton->func_array = NULL;
+ }
+
+ if(svc_skeleton->ops)
+ {
+ AXIS2_FREE((*env)->allocator, svc_skeleton->ops);
+ svc_skeleton->ops = NULL;
}
if(svc_skeleton)
Modified: webservices/axis2/trunk/c/samples/server/math/math_skeleton.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/samples/server/math/math_skeleton.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/samples/server/math/math_skeleton.c (original)
+++ webservices/axis2/trunk/c/samples/server/math/math_skeleton.c Sun Feb 26 19:48:19 2006
@@ -70,16 +70,16 @@
math_free(axis2_svc_skeleton_t *svc_skeleton,
axis2_env_t **env)
{
+ /*if(svc_skeleton->func_array)
+ {
+ AXIS2_ARRAY_LIST_FREE(svc_skeleton->func_array, env);
+ svc_skeleton->func_array = NULL;
+ }*/
+
if(svc_skeleton->ops)
{
AXIS2_FREE((*env)->allocator, svc_skeleton->ops);
svc_skeleton->ops = NULL;
- }
-
- if(svc_skeleton->func_array)
- {
- AXIS2_ARRAY_LIST_FREE(svc_skeleton->func_array, env);
- svc_skeleton->func_array = NULL;
}
if(svc_skeleton)
Modified: webservices/axis2/trunk/c/test/core/deployment/test_deployment.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/core/deployment/test_deployment.c?rev=381249&r1=381248&r2=381249&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/core/deployment/test_deployment.c (original)
+++ webservices/axis2/trunk/c/test/core/deployment/test_deployment.c Sun Feb 26 19:48:19 2006
@@ -41,6 +41,7 @@
return -1;
}
conf = AXIS2_DEP_ENGINE_LOAD(dep_engine, &env);
+ AXIS2_CONF_SET_DEP_ENGINE(conf, &env, dep_engine);
if (!conf)
{
printf("conf is NULL\n)");