You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2008/06/01 05:20:27 UTC
svn commit: r662137 -
/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c
Author: damitha
Date: Sat May 31 20:20:27 2008
New Revision: 662137
URL: http://svn.apache.org/viewvc?rev=662137&view=rev
Log:
Fixing memory leaks
Modified:
webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c
Modified: webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c?rev=662137&r1=662136&r2=662137&view=diff
==============================================================================
--- webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/tags/sandesha2/c/worker_thread_removed-30may2008/src/msgprocessors/app_msg_processor.c Sat May 31 20:20:27 2008
@@ -1333,145 +1333,146 @@
axis2_ctx_set_property(ctx, env, SANDESHA2_MSG_CTX_MAP, property);
}
}
- /* Determine spec version */
- if(is_svr_side)
- {
- sandesha2_seq_property_bean_t *spec_ver_bean = NULL;
-
- spec_ver_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rmd_sequence_id,
- SANDESHA2_SEQ_PROP_RM_SPEC_VERSION);
- if(req_rm_msg_ctx)
+ /* Determine spec version */
+ if(is_svr_side)
+ {
+ sandesha2_seq_property_bean_t *spec_ver_bean = NULL;
+
+ spec_ver_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rmd_sequence_id,
+ SANDESHA2_SEQ_PROP_RM_SPEC_VERSION);
+
+ if(req_rm_msg_ctx)
+ {
+ sandesha2_msg_ctx_free(req_rm_msg_ctx, env);
+ }
+ if(!spec_ver_bean)
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[sandesha2] Invalid spec version");
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_SPEC_VERSION,
+ AXIS2_FAILURE);
+ if(rms_internal_sequence_id)
{
- sandesha2_msg_ctx_free(req_rm_msg_ctx, env);
+ AXIS2_FREE(env->allocator, rms_internal_sequence_id);
}
- if(!spec_ver_bean)
+ if(seq_prop_mgr)
{
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[sandesha2] Invalid spec version");
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_SPEC_VERSION,
- AXIS2_FAILURE);
- if(rms_internal_sequence_id)
- {
- AXIS2_FREE(env->allocator, rms_internal_sequence_id);
- }
- if(seq_prop_mgr)
- {
- sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
- }
- if(create_seq_mgr)
- {
- sandesha2_create_seq_mgr_free(create_seq_mgr, env);
- }
- if(sender_mgr)
- {
- sandesha2_sender_mgr_free(sender_mgr, env);
- }
- if(storage_mgr)
- {
- sandesha2_storage_mgr_free(storage_mgr, env);
- }
-
- return AXIS2_FAILURE;
+ sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
}
-
- spec_ver = sandesha2_seq_property_bean_get_value(spec_ver_bean, env);
- }
- else
- {
- property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_RM_SPEC_VERSION);
- if(property)
+ if(create_seq_mgr)
+ {
+ sandesha2_create_seq_mgr_free(create_seq_mgr, env);
+ }
+ if(sender_mgr)
{
- spec_ver = axutil_property_get_value(property, env);
+ sandesha2_sender_mgr_free(sender_mgr, env);
+ }
+ if(storage_mgr)
+ {
+ sandesha2_storage_mgr_free(storage_mgr, env);
}
- } /* End of determining spec version */
- if(!spec_ver)
- {
- spec_ver = sandesha2_spec_specific_consts_get_default_spec_version(env);
+ return AXIS2_FAILURE;
}
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Spec version:%s", spec_ver);
+ spec_ver = sandesha2_seq_property_bean_get_value(spec_ver_bean, env);
+ }
+ else
+ {
+ property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_RM_SPEC_VERSION);
+ if(property)
+ {
+ spec_ver = axutil_property_get_value(property, env);
+ }
+ } /* End of determining spec version */
- sandesha2_seq_mgr_setup_new_rms_sequence(env, msg_ctx, rms_internal_sequence_id, spec_ver,
- seq_prop_mgr);
- }
+ if(!spec_ver)
+ {
+ spec_ver = sandesha2_spec_specific_consts_get_default_spec_version(env);
+ }
- if(send_create_seq)
- {
- sandesha2_seq_property_bean_t *create_seq_added = NULL;
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Spec version:%s", spec_ver);
- create_seq_added = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_internal_sequence_id,
- SANDESHA2_SEQ_PROP_OUT_CREATE_SEQ_SENT);
+ sandesha2_seq_mgr_setup_new_rms_sequence(env, msg_ctx, rms_internal_sequence_id, spec_ver,
+ seq_prop_mgr);
- if(!create_seq_added)
+ if(send_create_seq)
{
- axis2_char_t *acks_to = NULL;
- axis2_char_t *addr_ns_uri = NULL;
- axis2_char_t *anon_uri = NULL;
-
- create_seq_added = sandesha2_seq_property_bean_create_with_data(env,
- rms_internal_sequence_id, SANDESHA2_SEQ_PROP_OUT_CREATE_SEQ_SENT, AXIS2_VALUE_TRUE);
+ sandesha2_seq_property_bean_t *create_seq_added = NULL;
- sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, create_seq_added);
+ create_seq_added = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, rms_internal_sequence_id,
+ SANDESHA2_SEQ_PROP_OUT_CREATE_SEQ_SENT);
- addr_ns_uri = sandesha2_utils_get_seq_property(env, rms_internal_sequence_id,
- SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE, seq_prop_mgr);
-
- anon_uri = sandesha2_spec_specific_consts_get_anon_uri(env, addr_ns_uri);
- if(addr_ns_uri)
+ if(!create_seq_added)
{
- AXIS2_FREE(env->allocator, addr_ns_uri);
- }
+ axis2_char_t *acks_to = NULL;
+ axis2_char_t *addr_ns_uri = NULL;
+ axis2_char_t *anon_uri = NULL;
+
+ create_seq_added = sandesha2_seq_property_bean_create_with_data(env,
+ rms_internal_sequence_id, SANDESHA2_SEQ_PROP_OUT_CREATE_SEQ_SENT, AXIS2_VALUE_TRUE);
- if(axis2_msg_ctx_get_svc_ctx(msg_ctx, env))
- {
- property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_ACKS_TO);
- if(property)
+ sandesha2_seq_property_mgr_insert(seq_prop_mgr, env, create_seq_added);
+
+ addr_ns_uri = sandesha2_utils_get_seq_property(env, rms_internal_sequence_id,
+ SANDESHA2_SEQ_PROP_ADDRESSING_NAMESPACE_VALUE, seq_prop_mgr);
+
+ anon_uri = sandesha2_spec_specific_consts_get_anon_uri(env, addr_ns_uri);
+ if(addr_ns_uri)
{
- acks_to = axutil_property_get_value(property, env);
+ AXIS2_FREE(env->allocator, addr_ns_uri);
}
- }
- if(is_svr_side)
- {
- axis2_endpoint_ref_t *acks_to_epr = NULL;
+ if(axis2_msg_ctx_get_svc_ctx(msg_ctx, env))
+ {
+ property = axis2_msg_ctx_get_property(msg_ctx, env, SANDESHA2_CLIENT_ACKS_TO);
+ if(property)
+ {
+ acks_to = axutil_property_get_value(property, env);
+ }
+ }
- acks_to_epr = axis2_msg_ctx_get_to(req_msg_ctx, env);
- acks_to = (axis2_char_t*)axis2_endpoint_ref_get_address(acks_to_epr, env);
- }
- else if(!acks_to)
- {
- acks_to = anon_uri;
- }
-
- if(!acks_to && is_svr_side)
- {
- sandesha2_seq_property_bean_t *reply_to_epr_bean = NULL;
-
- reply_to_epr_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
- rmd_sequence_id, SANDESHA2_SEQ_PROP_REPLY_TO_EPR);
- if(reply_to_epr_bean)
+ if(is_svr_side)
{
- axis2_endpoint_ref_t *acks_epr = NULL;
+ axis2_endpoint_ref_t *acks_to_epr = NULL;
- acks_epr = axis2_endpoint_ref_create(env,
- sandesha2_seq_property_bean_get_value(reply_to_epr_bean, env));
- if(acks_epr)
+ acks_to_epr = axis2_msg_ctx_get_to(req_msg_ctx, env);
+ acks_to = (axis2_char_t*)axis2_endpoint_ref_get_address(acks_to_epr, env);
+ }
+ else if(!acks_to)
+ {
+ acks_to = anon_uri;
+ }
+
+ if(!acks_to && is_svr_side)
+ {
+ sandesha2_seq_property_bean_t *reply_to_epr_bean = NULL;
+
+ reply_to_epr_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+ rmd_sequence_id, SANDESHA2_SEQ_PROP_REPLY_TO_EPR);
+ if(reply_to_epr_bean)
{
- acks_to = (axis2_char_t*)axis2_endpoint_ref_get_address(acks_epr, env);
+ axis2_endpoint_ref_t *acks_epr = NULL;
+
+ acks_epr = axis2_endpoint_ref_create(env,
+ sandesha2_seq_property_bean_get_value(reply_to_epr_bean, env));
+ if(acks_epr)
+ {
+ acks_to = (axis2_char_t*)axis2_endpoint_ref_get_address(acks_epr, env);
+ }
}
}
- }
- /**
- * else if()
- * TODO handle acks_to == anon_uri case
- */
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "acks_to:%s", acks_to);
- sandesha2_app_msg_processor_send_create_seq_msg(env, rm_msg_ctx, rms_internal_sequence_id,
- acks_to, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+ /**
+ * else if()
+ * TODO handle acks_to == anon_uri case
+ */
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "acks_to:%s", acks_to);
+ sandesha2_app_msg_processor_send_create_seq_msg(env, rm_msg_ctx, rms_internal_sequence_id,
+ acks_to, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org