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 sa...@apache.org on 2006/03/04 05:59:41 UTC

svn commit: r383037 - in /webservices/axis2/trunk/c/modules: core/transport/http/receiver/simple_http_svr_conn.c util/network_handler.c

Author: sahan
Date: Fri Mar  3 20:59:40 2006
New Revision: 383037

URL: http://svn.apache.org/viewcvs?rev=383037&view=rev
Log:
Changed the socket close mechanism to allow slow clients

Modified:
    webservices/axis2/trunk/c/modules/core/transport/http/receiver/simple_http_svr_conn.c
    webservices/axis2/trunk/c/modules/util/network_handler.c

Modified: webservices/axis2/trunk/c/modules/core/transport/http/receiver/simple_http_svr_conn.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/receiver/simple_http_svr_conn.c?rev=383037&r1=383036&r2=383037&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/receiver/simple_http_svr_conn.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/receiver/simple_http_svr_conn.c Fri Mar  3 20:59:40 2006
@@ -194,11 +194,11 @@
     svr_conn_impl = AXIS2_INTF_TO_IMPL(svr_conn);
 	
 	AXIS2_STREAM_FREE(svr_conn_impl->stream, env);
-    /*if(-1 != svr_conn_impl->socket)
+    if(-1 != svr_conn_impl->socket)
     {
 		axis2_network_handler_close_socket(env, svr_conn_impl->socket);
         svr_conn_impl->socket = -1;
-    }*/
+    }
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/axis2/trunk/c/modules/util/network_handler.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/network_handler.c?rev=383037&r1=383036&r2=383037&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/network_handler.c (original)
+++ webservices/axis2/trunk/c/modules/util/network_handler.c Fri Mar  3 20:59:40 2006
@@ -144,6 +144,8 @@
 AXIS2_DECLARE(axis2_status_t )
 axis2_network_handler_close_socket (axis2_env_t **env,  axis2_socket_t socket)
 {
+    int i = 0;
+    char buf[32];
 	AXIS2_ENV_CHECK(env, AXIS2_CRTICAL_FAILURE);
 	if(socket < 0)
 	{
@@ -151,10 +153,13 @@
 							AXIS2_FAILURE);
 		return AXIS2_FAILURE;
 	}
+    /*
 	if(0 != AXIS2_CLOSE_SOCKET(socket))
 	{
 		return AXIS2_FAILURE;
-	}
+	}*/
+    shutdown(socket, SHUT_WR);
+    i = read(socket, buf, 32);
 	return AXIS2_SUCCESS;
 }