svn commit: r700687 - /webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c

[email protected]
Newsgroups gmane.comp.apache.webservices.fx.devel
Message-ID <[email protected]>
Author: damitha
Date: Tue Sep 30 22:56:56 2008
New Revision: 700687

URL: http://svn.apache.org/viewvc?rev=700687&view=rev
Log:
Fixing RM1-1 single channel  endless loop resending of create sequence message 

Modified:
    webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c

Modified: webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c?rev=700687&r1=700686&r2=700687&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Tue Sep 30 22:56:56 2008
@@ -1580,13 +1580,43 @@
              * else if()
              * TODO handle acks_to == anon_uri case
              */
-            sandesha2_app_msg_processor_send_create_seq_msg(env, rm_msg_ctx, internal_sequence_id, 
-                    acks_to, storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
-            
+            status = sandesha2_app_msg_processor_send_create_seq_msg(env, rm_msg_ctx, 
+                    internal_sequence_id, acks_to, storage_mgr, seq_prop_mgr, create_seq_mgr, 
+                    sender_mgr);
+
             if(reply_to_epr_bean)
             {
                 sandesha2_seq_property_bean_free(reply_to_epr_bean, env);
             }
+
+            if(AXIS2_SUCCESS != status)
+            {
+                AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+                    "[sandesha2] Could not send create sequence message");
+                
+                if(internal_sequence_id)
+                {
+                    AXIS2_FREE(env->allocator, 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 status;
+            }    
         }
         
         sandesha2_seq_property_bean_free(create_seq_added, env);
@@ -2340,8 +2370,8 @@
      * 3. reply_to_addr is anonymous
      * go into the following loop.
      */
-    if(!is_svr_side && (listener_manager || !reply_to_addr || 
-        sandesha2_utils_is_rm_1_0_anonymous_acks_to(env, rm_version, reply_to_addr)))
+    if(!is_svr_side && (listener_manager || !reply_to_addr || sandesha2_utils_is_anon_uri(env, 
+                    reply_to_addr)))
     {
         if(axis2_engine_send(engine, env, create_seq_msg_ctx))
         {
@@ -2375,6 +2405,7 @@
             {
                 AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
                         "[sandesha2] Do not continue sending the create sequence message");
+                status = AXIS2_FAILURE;
                 break;
             }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.