Author: damitha
Date: Wed Jan  9 20:24:26 2008
New Revision: 610667

URL: http://svn.apache.org/viewvc?rev=610667&view=rev
Log:
Fixing memory leaks

Modified:
    webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
    webservices/sandesha/trunk/c/src/util/sandesha2_utils.c
    webservices/sandesha/trunk/c/src/util/terminate_mgr.c

Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c Wed Jan  
9 20:24:26 2008
@@ -231,6 +231,9 @@
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(
             fault_msg_ctx, env));
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
+        sandesha2_msg_ctx_free(fault_msg_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
     }
     fault_msg_ctx = sandesha2_fault_mgr_check_for_invalid_ack(env, rm_msg_ctx, 
          seq_prop_mgr);
@@ -241,6 +244,9 @@
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(
              fault_msg_ctx, env));
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
+        sandesha2_msg_ctx_free(fault_msg_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
     }
     if(int_seq_id)
         sandesha2_seq_mgr_update_last_activated_time(env, int_seq_id, 

Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c Wed 
Jan  9 20:24:26 2008
@@ -282,6 +282,11 @@
                 "[sandesha2]ack sending failed");
             AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_ACK, 
                 AXIS2_FAILURE);
+            if(engine)
+            {
+                axis2_engine_free(engine, env);
+                engine = NULL;
+            }
             if(dbname)
                 AXIS2_FREE(env->allocator, dbname);
             if(seq_prop_mgr)
@@ -290,6 +295,11 @@
                 sandesha2_storage_mgr_free(storage_mgr, env);
             return AXIS2_FAILURE;
         }        
+        if(engine)
+        {
+            axis2_engine_free(engine, env);
+            engine = NULL;
+        }
     }
     else
     {
@@ -338,6 +348,8 @@
                         
         found_list = sandesha2_sender_mgr_find_by_sender_bean(sender_mgr, env, 
             find_bean);
+        if(find_bean)
+            sandesha2_sender_bean_free(find_bean, env);
         if(found_list)
         {
             int i = 0;
@@ -387,6 +399,8 @@
                 "[sandesha2]ack sending failed");
             AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_ACK, 
                 AXIS2_FAILURE);
+            if(engine)
+                axis2_engine_free(engine, env);
             if(dbname)
                 AXIS2_FREE(env->allocator, dbname);
             if(seq_prop_mgr)
@@ -397,6 +411,8 @@
                 sandesha2_storage_mgr_free(storage_mgr, env);
             return AXIS2_FAILURE;
         }
+        if(engine)
+            axis2_engine_free(engine, env);
         sandesha2_utils_start_sender_for_seq(env, conf_ctx, seq_id, 
AXIS2_FALSE);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(sender_mgr)

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=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Wed Jan  
9 20:24:26 2008
@@ -282,12 +282,20 @@
                 "[sandesha2]An error occured while sending the fault");
             AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
                 AXIS2_FAILURE);
+            if(fault_ctx)
+                sandesha2_msg_ctx_free(fault_ctx, env);
+            if(engine)
+                axis2_engine_free(engine, env);
             if(dbname)
                 AXIS2_FREE(env->allocator, dbname);
             if(storage_mgr)
                 sandesha2_storage_mgr_free(storage_mgr, env);
             return AXIS2_FAILURE;
         }
+        if(fault_ctx)
+            sandesha2_msg_ctx_free(fault_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(dbname)
             AXIS2_FREE(env->allocator, dbname);
@@ -320,6 +328,10 @@
                 "[sandesha2]An error occured while sending the fault");
             AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
                 AXIS2_FAILURE);
+            if(fault_ctx)
+                sandesha2_msg_ctx_free(fault_ctx, env);
+            if(engine)
+                axis2_engine_free(engine, env);
             if(seq_prop_mgr)
                 sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
             if(create_seq_mgr)
@@ -332,6 +344,10 @@
                 sandesha2_storage_mgr_free(storage_mgr, env);
             return AXIS2_FAILURE;
         }
+        if(fault_ctx)
+            sandesha2_msg_ctx_free(fault_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(seq_prop_mgr)
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -361,6 +377,10 @@
                 "[sandesha2]An error occured while sending the fault");
             AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
                 AXIS2_FAILURE);
+            if(fault_ctx)
+                sandesha2_msg_ctx_free(fault_ctx, env);
+            if(engine)
+                axis2_engine_free(engine, env);
             if(seq_prop_mgr)
                 sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
             if(create_seq_mgr)
@@ -373,6 +393,10 @@
                 sandesha2_storage_mgr_free(storage_mgr, env);
             return AXIS2_FAILURE;
         }
+        if(fault_ctx)
+            sandesha2_msg_ctx_free(fault_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(seq_prop_mgr)
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -1336,7 +1360,6 @@
     axis2_conf_ctx_t *conf_ctx = NULL;
     sandesha2_ack_requested_t *ack_requested = NULL;
     sandesha2_msg_ctx_t *ack_rm_msg = NULL;
-    axis2_engine_t *engine = NULL;
     axis2_msg_ctx_t *msg_ctx = NULL;
     axis2_bool_t sent = AXIS2_FALSE;
 
@@ -1370,9 +1393,14 @@
         seq_prop_mgr);
     if(ack_rm_msg)
     {
+        axis2_engine_t *engine = NULL;
         engine = axis2_engine_create(env, conf_ctx);
         msg_ctx = sandesha2_msg_ctx_get_msg_ctx(ack_rm_msg, env);
         sent = axis2_engine_send(engine, env, msg_ctx);
+        if(ack_rm_msg)
+            sandesha2_msg_ctx_free(ack_rm_msg, env);
+        if(engine)
+            axis2_engine_free(engine, env);
     }
     if(!sent)
     {

Modified: 
webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/close_seq_msg_processor.c 
Wed Jan  9 20:24:26 2008
@@ -180,7 +180,14 @@
     {
         engine = axis2_engine_create(env, conf_ctx);
         axis2_engine_send(engine, env, sandesha2_msg_ctx_get_msg_ctx(
-                        fault_rm_msg_ctx, env));
+            fault_rm_msg_ctx, env));
+        if(fault_rm_msg_ctx)
+            sandesha2_msg_ctx_free(fault_rm_msg_ctx, env);
+        if(engine)
+        {
+            axis2_engine_free(engine, env);
+            engine = NULL;
+        }
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(seq_prop_mgr)
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -230,6 +237,8 @@
     
     engine = axis2_engine_create(env, conf_ctx);
     axis2_engine_send(engine, env, close_seq_res_msg);
+    if(engine)
+        axis2_engine_free(engine, env);
     if(seq_prop_mgr)
         sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
     if(create_seq_mgr)

Modified: 
webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c 
(original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c 
Wed Jan  9 20:24:26 2008
@@ -196,7 +196,7 @@
         AXIS2_FREE(env->allocator, dbname);
     
     fault_rm_msg_ctx = sandesha2_fault_mgr_check_for_create_seq_refused(
-                        env, msg_ctx, seq_prop_mgr);
+        env, msg_ctx, seq_prop_mgr);
     if(fault_rm_msg_ctx)
     {
         axis2_engine_t *engine = NULL;
@@ -205,6 +205,13 @@
         engine = axis2_engine_create(env, conf_ctx);
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(
             fault_rm_msg_ctx, env));
+        if(fault_rm_msg_ctx)
+            sandesha2_msg_ctx_free(fault_rm_msg_ctx, env);
+        if(engine)
+        {
+            axis2_engine_free(engine, env);
+            engine = NULL;
+        }
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(seq_prop_mgr)
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -341,6 +348,8 @@
     sandesha2_seq_mgr_update_last_activated_time(env, new_seq_id, 
seq_prop_mgr);
     engine = axis2_engine_create(env, conf_ctx);
     axis2_engine_send(engine, env, out_msg_ctx);
+    if(engine)
+        axis2_engine_free(engine, env);
     to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
         new_seq_id, SANDESHA2_SEQ_PROP_TO_EPR);
     if(!to_bean)

Modified: 
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c 
(original)
+++ 
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c 
Wed Jan  9 20:24:26 2008
@@ -232,6 +232,9 @@
             "[sandesha2] Send fault occurred");
         axis2_engine_send_fault(engine, env, sandesha2_msg_ctx_get_msg_ctx(
             fault_ctx, env));
+        sandesha2_msg_ctx_free(fault_ctx, env);
+        if(engine)
+            axis2_engine_free(engine, env);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         if(seq_prop_mgr)
             sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
@@ -493,8 +496,7 @@
     /* end test code */
     
     engine = axis2_engine_create(env, axis2_msg_ctx_get_conf_ctx(msg_ctx, 
env));
-    axis2_engine_send(engine, env, out_msg_ctx);
-    
+    axis2_engine_send(engine, env, out_msg_ctx); 
     op_ctx = axis2_msg_ctx_get_op_ctx(out_msg_ctx, env);
     if(to_epr)
     {
@@ -512,6 +514,8 @@
     {
         axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_TRUE);
     }
+    if(engine)
+        axis2_engine_free(engine, env);
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[sandesha2]Exit:sandesha2_"\
         "terminate_seq_msg_processor_add_terminate_seq_res");
     return AXIS2_SUCCESS;

Modified: webservices/sandesha/trunk/c/src/util/sandesha2_utils.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/sandesha2_utils.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/sandesha2_utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/sandesha2_utils.c Wed Jan  9 20:24:26 
2008
@@ -1172,6 +1172,8 @@
     {
         status = axis2_engine_send(engine, env, msg_ctx);
     }
+    if(engine)
+        axis2_engine_free(engine, env);
     return status;
 }
 

Modified: webservices/sandesha/trunk/c/src/util/terminate_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/terminate_mgr.c?rev=610667&r1=610666&r2=610667&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Wed Jan  9 20:24:26 
2008
@@ -762,12 +762,18 @@
     if(axis2_msg_ctx_get_server_side(msg_ctx, env) &&
        sandesha2_utils_is_single_channel(env, rm_ver, to_addr))
     {
-        axis2_msg_ctx_t *msg_ctx1 = 
sandesha2_msg_ctx_get_msg_ctx(terminate_rm_msg, env);
-        axis2_op_ctx_set_response_written(axis2_msg_ctx_get_op_ctx(msg_ctx1, 
env), env, AXIS2_TRUE);
+        axis2_msg_ctx_t *msg_ctx2 = 
sandesha2_msg_ctx_get_msg_ctx(terminate_rm_msg, env);
+        axis2_bool_t is_svr_side = axis2_msg_ctx_get_server_side(msg_ctx2, 
env);
+        axis2_op_ctx_set_response_written(axis2_msg_ctx_get_op_ctx(msg_ctx2, 
env), env, AXIS2_TRUE);
         axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_TRUE);
         axis2_op_ctx_set_response_written(axis2_msg_ctx_get_op_ctx(msg_ctx, 
env), env, AXIS2_TRUE);
         engine = axis2_engine_create(env, conf_ctx);
-        axis2_engine_send(engine, env, msg_ctx1);
+        axis2_engine_send(engine, env, msg_ctx2);
+        if(engine)
+        {
+            axis2_engine_free(engine, env);
+            engine = NULL;
+        }
         /* Clean sending side data */
         {
             sandesha2_terminate_seq_t *terminate_seq = NULL;
@@ -783,8 +789,8 @@
             internal_seq_id = sandesha2_utils_get_seq_property(env, seq_id, 
                 SANDESHA2_SEQ_PROP_INTERNAL_SEQ_ID, seq_prop_mgr);
             sandesha2_terminate_mgr_terminate_sending_side(env, conf_ctx,
-                internal_seq_id, axis2_msg_ctx_get_server_side(msg_ctx1, env), 
-                    storage_mgr, seq_prop_mgr, create_seq_mgr, sender_mgr);
+                internal_seq_id, is_svr_side, storage_mgr, seq_prop_mgr, 
+                create_seq_mgr, sender_mgr);
             terminate_added = sandesha2_seq_property_bean_create(env);
             sandesha2_seq_property_bean_set_name(terminate_added, env, 
                 SANDESHA2_SEQ_PROP_TERMINATE_ADDED);
@@ -871,6 +877,8 @@
     }
     engine = axis2_engine_create(env, conf_ctx);
     status = axis2_engine_send(engine, env, msg_ctx1);
+    if(engine)
+        axis2_engine_free(engine, env);
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, 
         "[sandesha2]Exit:sandesha2_terminate_mgr_add_terminate_seq_msg");
     return status;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to