You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by da...@apache.org on 2010/07/05 05:24:31 UTC

svn commit: r960429 - /axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c

Author: damitha
Date: Mon Jul  5 03:24:31 2010
New Revision: 960429

URL: http://svn.apache.org/viewvc?rev=960429&view=rev
Log:
In http 1.0 Keep-Alive false case transport sender is freed prematurely at http_transport_sender. Because of this, although soap message comes through the wire it cannot be processed.

Modified:
    axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c

Modified: axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c?rev=960429&r1=960428&r2=960429&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c (original)
+++ axis/axis2/c/core/trunk/src/core/transport/http/sender/http_transport_sender.c Mon Jul  5 03:24:31 2010
@@ -777,12 +777,14 @@ axis2_http_transport_sender_write_messag
     status = AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, out, url, soap_action);
 #endif
 
-    AXIS2_HTTP_SENDER_FREE(sender, env);
-    sender = NULL;
 
     /* if the send was not successful, do not process any response */
     if(status != AXIS2_SUCCESS)
+    {
+        AXIS2_HTTP_SENDER_FREE(sender, env);
+        sender = NULL;
         return status;
+    }
 
     op = axis2_msg_ctx_get_op(msg_ctx, env);
     if(op)
@@ -793,6 +795,8 @@ axis2_http_transport_sender_write_messag
         if(axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY) == 0 || axutil_strcmp(mep,
             AXIS2_MEP_URI_ROBUST_OUT_ONLY) == 0 || axutil_strcmp(mep, AXIS2_MEP_URI_IN_ONLY) == 0)
         {
+            AXIS2_HTTP_SENDER_FREE(sender, env);
+            sender = NULL;
             return status;
         }
         else
@@ -811,6 +815,9 @@ axis2_http_transport_sender_write_messag
         }
     }
 
+    AXIS2_HTTP_SENDER_FREE(sender, env);
+    sender = NULL;
+
     return status;
 }