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()