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/23 07:29:14 UTC
svn commit: r380048 - in /webservices/axis2/trunk/c/modules/core:
deployment/conf_builder.c deployment/dep_engine.c description/op.c
engine/conf.c phaseresolver/phase_holder.c phaseresolver/phase_resolver.c
Author: damitha
Date: Wed Feb 22 22:29:08 2006
New Revision: 380048
URL: http://svn.apache.org/viewcvs?rev=380048&view=rev
Log:
More memory leak fixes
Modified:
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/description/op.c
webservices/axis2/trunk/c/modules/core/engine/conf.c
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c
webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
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=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Wed Feb 22 22:29:08 2006
@@ -556,6 +556,7 @@
axis2_om_children_qname_iterator_t *phases = NULL;
axis2_qname_t *qphase = NULL;
axis2_om_element_t *phase_orders_element;
+ axis2_status_t status = AXIS2_FAILURE;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, phase_orders_node, AXIS2_FAILURE);
@@ -574,6 +575,11 @@
phases = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(phase_orders_element, env,
qphase, phase_orders_node);
AXIS2_QNAME_FREE(qphase, env);
+ if(!phases)
+ {
+ AXIS2_ARRAY_LIST_FREE(phase_list, env);
+ return NULL;
+ }
while (AXIS2_TRUE == AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(phases, env))
{
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=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Wed Feb 22 22:29:08 2006
@@ -492,6 +492,12 @@
engine_impl->curr_file = NULL;
}
+ if(engine_impl->phases_info)
+ {
+ AXIS2_PHASES_INFO_FREE(engine_impl->phases_info, env);
+ engine_impl->phases_info = NULL;
+ }
+
if(engine_impl->conf_builder)
{
AXIS2_CONF_BUILDER_FREE(engine_impl->conf_builder, env);
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=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/op.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/op.c Wed Feb 22 22:29:08 2006
@@ -455,28 +455,6 @@
}
message_out = NULL;
- /*op_impl->phases_in_fault_flow = axis2_array_list_create(env, 0);
- if(NULL == op_impl->phases_in_fault_flow)
- {
- axis2_op_free(&(op_impl->op), env);
- return NULL;
- }
-
- op_impl->phases_out_fault_flow = axis2_array_list_create(env, 0);
- if(NULL == op_impl->phases_out_fault_flow)
- {
- axis2_op_free(&(op_impl->op), env);
- return NULL;
- }*/
- /*
- op_impl->modulerefs = axis2_array_list_create(env, 0);
- if(NULL == op_impl->modulerefs)
- {
- axis2_op_free(&(op_impl->op), env);
- return NULL;
- }
- */
-
axis2_op_set_msg_exchange_pattern(&(op_impl->op), env,
(axis2_char_t *) AXIS2_MEP_URI_IN_OUT);
@@ -695,6 +673,7 @@
}
}
+
AXIS2_ARRAY_LIST_FREE(op_impl->remaining_phases_inflow, env);
op_impl->remaining_phases_inflow = NULL;
}
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=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/conf.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/conf.c Wed Feb 22 22:29:08 2006
@@ -414,7 +414,7 @@
}
}
- config_impl->out_phases = axis2_array_list_create(env, 0);
+ /*config_impl->out_phases = axis2_array_list_create(env, 0);
if(NULL == config_impl->out_phases)
{
axis2_conf_free(&(config_impl->conf), env);
@@ -436,7 +436,7 @@
axis2_conf_free(&(config_impl->conf), env);
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
- }
+ }*/
config_impl->all_svcs = axis2_hash_make(env);
if(NULL == config_impl->all_svcs)
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c?rev=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_holder.c Wed Feb 22 22:29:08 2006
@@ -128,16 +128,18 @@
phase_holder_impl = AXIS2_INTF_TO_IMPL(phase_holder);
- if(NULL != phase_holder->ops)
- {
- AXIS2_FREE((*env)->allocator, phase_holder->ops);
- phase_holder->ops = NULL;
- }
- if(NULL != phase_holder_impl->phase_list)
+ /*if(NULL != phase_holder_impl->phase_list)
{
AXIS2_ARRAY_LIST_FREE(phase_holder_impl->phase_list, env);
phase_holder_impl->phase_list = NULL;
+ }*/
+
+ if(NULL != phase_holder->ops)
+ {
+ AXIS2_FREE((*env)->allocator, phase_holder->ops);
+ phase_holder->ops = NULL;
}
+
if(phase_holder_impl)
{
AXIS2_FREE((*env)->allocator, phase_holder_impl);
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c?rev=380048&r1=380047&r2=380048&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c Wed Feb 22 22:29:08 2006
@@ -249,22 +249,23 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
phase_resolver_impl = AXIS2_INTF_TO_IMPL(phase_resolver);
-
- if(NULL != phase_resolver->ops)
- {
- AXIS2_FREE((*env)->allocator, phase_resolver->ops);
- phase_resolver->ops = NULL;
- }
-
+
phase_resolver_impl->axis2_config = NULL;
phase_resolver_impl->svc = NULL;
- if(NULL != phase_resolver_impl->phase_holder)
+ if(phase_resolver_impl->phase_holder)
{
AXIS2_PHASE_HOLDER_FREE(phase_resolver_impl->phase_holder, env);
phase_resolver_impl->phase_holder = NULL;
}
+
+ if(phase_resolver->ops)
+ {
+ AXIS2_FREE((*env)->allocator, phase_resolver->ops);
+ phase_resolver->ops = NULL;
+ }
+
if(phase_resolver_impl)
{
AXIS2_FREE((*env)->allocator, phase_resolver_impl);
@@ -1299,8 +1300,14 @@
phase_list =
AXIS2_CONF_GET_IN_PHASES_UPTO_AND_INCLUDING_POST_DISPATCH(
resolver_impl->axis2_config, env);
+ if(resolver_impl->phase_holder)
+ {
+ AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
+ resolver_impl->phase_holder = NULL;
+ }
resolver_impl->phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
+ if(!resolver_impl->phase_holder) continue;
break;
}
case AXIS2_OUTFLOW:
@@ -1309,8 +1316,14 @@
phase_list = AXIS2_CONF_GET_OUTFLOW(resolver_impl->axis2_config,
env);
+ if(resolver_impl->phase_holder)
+ {
+ AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
+ resolver_impl->phase_holder = NULL;
+ }
resolver_impl->phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
+ if(!resolver_impl->phase_holder) continue;
break;
}
case AXIS2_FAULT_INFLOW:
@@ -1319,8 +1332,14 @@
phase_list = AXIS2_CONF_GET_IN_FAULT_FLOW(resolver_impl->
axis2_config, env);
+ if(resolver_impl->phase_holder)
+ {
+ AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
+ resolver_impl->phase_holder = NULL;
+ }
resolver_impl->phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
+ if(!resolver_impl->phase_holder) continue;
break;
}
case AXIS2_FAULT_OUTFLOW:
@@ -1329,8 +1348,14 @@
phase_list = AXIS2_CONF_GET_OUT_FAULT_FLOW(resolver_impl->
axis2_config, env);
+ if(resolver_impl->phase_holder)
+ {
+ AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
+ resolver_impl->phase_holder = NULL;
+ }
resolver_impl->phase_holder =
axis2_phase_holder_create_with_phases(env, phase_list);
+ if(!resolver_impl->phase_holder) continue;
break;
}
}