summaryrefslogtreecommitdiffstats
path: root/src/core/transport/http/sender/http_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/transport/http/sender/http_client.c')
-rw-r--r--src/core/transport/http/sender/http_client.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/transport/http/sender/http_client.c b/src/core/transport/http/sender/http_client.c
index 3a8deca..7ffc8ec 100644
--- a/src/core/transport/http/sender/http_client.c
+++ b/src/core/transport/http/sender/http_client.c
@@ -120,7 +120,15 @@ axis2_http_client_free(
}
if(-1 != http_client->sockfd)
{
- axutil_network_handler_close_socket(env, http_client->sockfd);
+#ifdef AXIS2_SSL_ENABLED
+ if(http_client->data_stream->stream_type == AXIS2_STREAM_SOCKET)
+ {
+ axutil_network_handler_close_socket(env, http_client->sockfd);
+ // ssl streams of type AXIS2_STREAM_BASIC will be handled by SSL_shutdown();
+ }
+#else
+ axutil_network_handler_close_socket(env, http_client->sockfd);
+#endif
http_client->sockfd = -1;
}