You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/10/27 06:42:43 UTC

svn commit: r468270 - in /webservices/axis2/trunk/c: include/ modules/core/addr/ modules/core/description/ modules/core/receivers/ modules/core/transport/http/ modules/core/util/

Author: damitha
Date: Thu Oct 26 21:42:42 2006
New Revision: 468270

URL: http://svn.apache.org/viewvc?view=rev&rev=468270
Log:
Fixed AXIS2C-310

Modified:
    webservices/axis2/trunk/c/include/axis2_endpoint_ref.h
    webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
    webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c
    webservices/axis2/trunk/c/modules/core/description/msg.c
    webservices/axis2/trunk/c/modules/core/receivers/msg_recv.c
    webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
    webservices/axis2/trunk/c/modules/core/util/core_utils.c

Modified: webservices/axis2/trunk/c/include/axis2_endpoint_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_endpoint_ref.h?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_endpoint_ref.h (original)
+++ webservices/axis2/trunk/c/include/axis2_endpoint_ref.h Thu Oct 26 21:42:42 2006
@@ -318,6 +318,18 @@
         const axis2_env_t *env,
         const axis2_char_t *address);
 
+    /**
+     * Frees the endpoint_ref given as a void pointer. This method would cast the 
+     * void parameter to an endpoint_ref pointer and then call free method.
+     * @param pointer to endpoint_ref as a void pointer
+     * @param env pointer to environment struct
+     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+     */
+    axis2_status_t AXIS2_CALL
+    axis2_endpoint_ref_free_void_arg(
+        void *endpoint_ref,
+        const axis2_env_t *env);
+
 /** Gets address.
     @sa axis2_endpoint_ref_ops#get_address */
 #define AXIS2_ENDPOINT_REF_GET_ADDRESS(endpoint_ref, env) \

Modified: webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c (original)
+++ webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c Thu Oct 26 21:42:42 2006
@@ -350,6 +350,19 @@
 }
 
 axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_free_void_arg(
+    void *endpoint_ref,
+    const axis2_env_t *env)
+{
+    axis2_endpoint_ref_t *endpoint_ref_l = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+    endpoint_ref_l = (axis2_endpoint_ref_t *) endpoint_ref;
+    return axis2_endpoint_ref_free(endpoint_ref_l, env);
+}
+
+axis2_status_t AXIS2_CALL
 axis2_endpoint_ref_free(
     axis2_endpoint_ref_t *endpoint_ref,
     const axis2_env_t *env)

Modified: webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c (original)
+++ webservices/axis2/trunk/c/modules/core/addr/msg_info_headers.c Thu Oct 26 21:42:42 2006
@@ -561,7 +561,7 @@
 
     if (msg_info_headers_impl->to)
     {
-        AXIS2_ENDPOINT_REF_FREE(msg_info_headers_impl->to, env);
+        /*AXIS2_ENDPOINT_REF_FREE(msg_info_headers_impl->to, env);*/
         msg_info_headers_impl->to = NULL;
     }
     if (msg_info_headers_impl->from)

Modified: webservices/axis2/trunk/c/modules/core/description/msg.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/msg.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/msg.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/msg.c Thu Oct 26 21:42:42 2006
@@ -220,7 +220,8 @@
         for (i = 0; i < size; i++)
         {
             axis2_phase_t *phase = NULL;
-            phase = (axis2_phase_t *)(AXIS2_ARRAY_LIST_GET(msg_impl->flow, env, i));
+            phase = (axis2_phase_t *)(AXIS2_ARRAY_LIST_GET(msg_impl->flow, env, 
+                i));
             if (phase)
             {
                 AXIS2_PHASE_FREE(phase, env);

Modified: webservices/axis2/trunk/c/modules/core/receivers/msg_recv.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/receivers/msg_recv.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/receivers/msg_recv.c (original)
+++ webservices/axis2/trunk/c/modules/core/receivers/msg_recv.c Thu Oct 26 21:42:42 2006
@@ -473,14 +473,13 @@
         }
     }
     AXIS2_ENGINE_FREE(engine, env);
-    /* test code: uncomment this when test is over */ 
-    axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx);
-    if (!AXIS2_MSG_CTX_IS_PAUSED(out_msg_ctx, env))
+    if (!AXIS2_MSG_CTX_IS_PAUSED(out_msg_ctx, env) && 
+            !AXIS2_MSG_CTX_IS_KEEP_ALIVE(out_msg_ctx, env))
     {
+        axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx);
         AXIS2_MSG_CTX_FREE(out_msg_ctx, env);
         out_msg_ctx = NULL;
     }
-    /*end test code */
     return status;
 }
 

Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_worker.c Thu Oct 26 21:42:42 2006
@@ -425,7 +425,8 @@
     status = AXIS2_SIMPLE_HTTP_SVR_CONN_WRITE_RESPONSE(svr_conn, env, response);
     AXIS2_FREE(env->allocator, url_external_form);
     url_external_form = NULL;
-    if (!AXIS2_MSG_CTX_IS_KEEP_ALIVE(msg_ctx, env))
+    if (!AXIS2_MSG_CTX_IS_KEEP_ALIVE(msg_ctx, env) &&
+        !AXIS2_MSG_CTX_IS_PAUSED(msg_ctx, env)) 
     {
         AXIS2_MSG_CTX_FREE(msg_ctx, env);
         msg_ctx = NULL;

Modified: webservices/axis2/trunk/c/modules/core/util/core_utils.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/util/core_utils.c?view=diff&rev=468270&r1=468269&r2=468270
==============================================================================
--- webservices/axis2/trunk/c/modules/core/util/core_utils.c (original)
+++ webservices/axis2/trunk/c/modules/core/util/core_utils.c Thu Oct 26 21:42:42 2006
@@ -172,6 +172,8 @@
 
     AXIS2_MSG_CTX_SET_IS_SOAP_11(new_msg_ctx, env,
             AXIS2_MSG_CTX_GET_IS_SOAP_11(in_msg_ctx, env));
+    AXIS2_MSG_CTX_SET_KEEP_ALIVE(new_msg_ctx, env,
+            AXIS2_MSG_CTX_IS_KEEP_ALIVE(in_msg_ctx, env));
 
     return new_msg_ctx;
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org