void AXIS2_CALL axis2_tcp_server_free( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_tcp_server_impl_t *server_impl = NULL; AXIS2_ENV_CHECK(env, void); server_impl = AXIS2_INTF_TO_IMPL(server); if (server_impl->svr_thread) { axis2_tcp_svr_thread_destroy(server_impl->svr_thread, env); axis2_tcp_svr_thread_free(server_impl->svr_thread, env); server_impl->svr_thread = NULL; } if (server_impl->conf_ctx_private) { axis2_conf_ctx_free(server_impl->conf_ctx_private, env); server_impl->conf_ctx_private = NULL; } /** * Do not free this. It may own to some other object */ server_impl->conf_ctx = NULL; AXIS2_FREE(env->allocator, server_impl); return; }
AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Terminating TCP server thread"); if(AXIS2_INTF_TO_IMPL(server)->svr_thread) { axis2_tcp_svr_thread_destroy(AXIS2_INTF_TO_IMPL(server)->svr_thread, env); } AXIS2_LOG_INFO(env->log, "Successfully terminated TCP server" " thread"); return AXIS2_SUCCESS; }