You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by jp...@apache.org on 2014/04/08 23:54:07 UTC
[3/3] git commit: Make HttpSM::release_server_session slightly more
readable.
Make HttpSM::release_server_session slightly more readable.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/df9a3a6a
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/df9a3a6a
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/df9a3a6a
Branch: refs/heads/master
Commit: df9a3a6ab3a27753e4a9a76e322587c5c3c2960b
Parents: aa45995
Author: James Peach <jp...@apache.org>
Authored: Mon Mar 31 11:15:21 2014 -0700
Committer: James Peach <jp...@apache.org>
Committed: Tue Apr 8 14:41:48 2014 -0700
----------------------------------------------------------------------
proxy/http/HttpSM.cc | 52 ++++++++++++++++++++++++-----------------------
1 file changed, 27 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/df9a3a6a/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 7e6fd13..80c5d78 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -4883,34 +4883,36 @@ HttpSM::mark_server_down_on_client_abort()
void
HttpSM::release_server_session(bool serve_from_cache)
{
- if (server_session != NULL) {
- if (t_state.current.server->keep_alive == HTTP_KEEPALIVE &&
- t_state.hdr_info.server_response.valid() &&
- (t_state.hdr_info.server_response.status_get() == HTTP_STATUS_NOT_MODIFIED ||
- (t_state.hdr_info.server_request.method_get_wksidx() == HTTP_WKSIDX_HEAD
- && t_state.www_auth_content != HttpTransact::CACHE_AUTH_NONE)) &&
- plugin_tunnel_type == HTTP_NO_PLUGIN_TUNNEL) {
- HTTP_DECREMENT_DYN_STAT(http_current_server_transactions_stat);
- server_session->server_trans_stat--;
- server_session->attach_hostname(t_state.current.server->name);
- if (t_state.www_auth_content == HttpTransact::CACHE_AUTH_NONE || serve_from_cache == false)
- server_session->release();
- else {
- // an authenticated server connection - attach to the local client
- // we are serving from cache for the current transaction
- t_state.www_auth_content = HttpTransact::CACHE_AUTH_SERVE;
- ua_session->attach_server_session(server_session, false);
- }
+ if (server_session == NULL) {
+ return;
+ }
+
+ if (t_state.current.server->keep_alive == HTTP_KEEPALIVE &&
+ t_state.hdr_info.server_response.valid() &&
+ (t_state.hdr_info.server_response.status_get() == HTTP_STATUS_NOT_MODIFIED ||
+ (t_state.hdr_info.server_request.method_get_wksidx() == HTTP_WKSIDX_HEAD
+ && t_state.www_auth_content != HttpTransact::CACHE_AUTH_NONE)) &&
+ plugin_tunnel_type == HTTP_NO_PLUGIN_TUNNEL) {
+ HTTP_DECREMENT_DYN_STAT(http_current_server_transactions_stat);
+ server_session->server_trans_stat--;
+ server_session->attach_hostname(t_state.current.server->name);
+ if (t_state.www_auth_content == HttpTransact::CACHE_AUTH_NONE || serve_from_cache == false) {
+ server_session->release();
} else {
- server_session->do_io_close();
+ // an authenticated server connection - attach to the local client
+ // we are serving from cache for the current transaction
+ t_state.www_auth_content = HttpTransact::CACHE_AUTH_SERVE;
+ ua_session->attach_server_session(server_session, false);
}
-
- ink_assert(server_entry->vc == server_session);
- server_entry->in_tunnel = true;
- vc_table.cleanup_entry(server_entry);
- server_entry = NULL;
- server_session = NULL;
+ } else {
+ server_session->do_io_close();
}
+
+ ink_assert(server_entry->vc == server_session);
+ server_entry->in_tunnel = true;
+ vc_table.cleanup_entry(server_entry);
+ server_entry = NULL;
+ server_session = NULL;
}
// void HttpSM::handle_post_failure()