You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2018/05/24 21:30:25 UTC

[trafficserver] branch master updated: Two more places to check whether attempting half_closed connection logic is feasible.

This is an automated email from the ASF dual-hosted git repository.

shinrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 653927f  Two more places to check whether attempting half_closed connection logic is feasible.
653927f is described below

commit 653927f9aab9a3cbe8f09521dd8c8154ccbc1614
Author: Susan Hinrichs <sh...@apache.org>
AuthorDate: Tue May 22 12:40:05 2018 -0500

    Two more places to check whether attempting half_closed connection logic is feasible.
---
 proxy/ProxyClientSession.cc | 3 ++-
 proxy/http/HttpSM.cc        | 7 ++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/proxy/ProxyClientSession.cc b/proxy/ProxyClientSession.cc
index 2d7cf8d..e24f43b 100644
--- a/proxy/ProxyClientSession.cc
+++ b/proxy/ProxyClientSession.cc
@@ -224,7 +224,8 @@ ProxyClientSession::handle_api_return(int event)
     break;
   }
   default:
-    Fatal("received invalid session hook %s (%d)", HttpDebugNames::get_api_hook_name(hookid), hookid);
+    Error("received invalid session hook %s (%d)", HttpDebugNames::get_api_hook_name(hookid), hookid);
+    ink_release_assert(false);
     break;
   }
 }
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 765a014..2cdbde4 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -3200,7 +3200,8 @@ HttpSM::tunnel_handler_ua(int event, HttpTunnelConsumer *c)
     c->write_success          = true;
     t_state.client_info.abort = HttpTransact::DIDNOT_ABORT;
     if (t_state.client_info.keep_alive == HTTP_KEEPALIVE) {
-      if (t_state.www_auth_content != HttpTransact::CACHE_AUTH_SERVE || ua_txn->get_server_session()) {
+      if (ua_txn->allow_half_open() &&
+          (t_state.www_auth_content != HttpTransact::CACHE_AUTH_SERVE || ua_txn->get_server_session())) {
         // successful keep-alive
         close_connection = false;
       }
@@ -3261,8 +3262,8 @@ HttpSM::tunnel_handler_ua(int event, HttpTunnelConsumer *c)
         is_eligible_post_request &= !vc->get_is_internal_request();
       }
     }
-    if ((is_eligible_post_request || t_state.client_info.pipeline_possible == true) && c->producer->vc_type != HT_STATIC &&
-        event == VC_EVENT_WRITE_COMPLETE) {
+    if ((is_eligible_post_request || t_state.client_info.pipeline_possible == true) && ua_txn->allow_half_open() &&
+        c->producer->vc_type != HT_STATIC && event == VC_EVENT_WRITE_COMPLETE) {
       ua_txn->set_half_close_flag(true);
     }
 

-- 
To stop receiving notification emails like this one, please contact
shinrich@apache.org.