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

sorber pushed a commit to branch 6.2.x
in repository https://git-dual.apache.org/repos/asf/trafficserver.git

commit 48e869374b24c8c50e56a740f5bedad7aa5c1d80
Author: Susan Hinrichs <[email protected]>
AuthorDate: Thu May 26 02:09:48 2016 +0000

    TS-4461: SSL Client Connections not closed.
    
    (cherry picked from commit 456ade9ab35787d39d3414149a0ee04f44008268)
---
 iocore/net/P_UnixNetVConnection.h    |  6 +++++-
 proxy/http/Http1ClientSession.cc     | 13 +++++++------
 proxy/http/Http1ClientTransaction.cc |  2 +-
 proxy/http/HttpSM.cc                 |  2 +-
 4 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/iocore/net/P_UnixNetVConnection.h 
b/iocore/net/P_UnixNetVConnection.h
index 9b10cbf..bef0191 100644
--- a/iocore/net/P_UnixNetVConnection.h
+++ b/iocore/net/P_UnixNetVConnection.h
@@ -372,7 +372,11 @@ UnixNetVConnection::set_inactivity_timeout(ink_hrtime 
timeout)
   } else
     inactivity_timeout = 0;
 #else
-  next_inactivity_timeout_at = Thread::get_hrtime() + timeout;
+  if (timeout) {
+    next_inactivity_timeout_at = Thread::get_hrtime() + timeout;
+  } else {
+    next_inactivity_timeout_at = 0;
+  }
 #endif
 }
 
diff --git a/proxy/http/Http1ClientSession.cc b/proxy/http/Http1ClientSession.cc
index 508b593..e31b953 100644
--- a/proxy/http/Http1ClientSession.cc
+++ b/proxy/http/Http1ClientSession.cc
@@ -266,7 +266,7 @@ Http1ClientSession::do_io_close(int alerrno)
       // Set the active timeout to the same as the inactive time so
       //   that this connection does not hang around forever if
       //   the ua hasn't closed
-      
client_vc->set_active_timeout(HRTIME_SECONDS(trans.get_sm()->t_state.txn_conf->keep_alive_no_activity_timeout_out));
+      
client_vc->set_active_timeout(HRTIME_SECONDS(trans.get_sm()->t_state.txn_conf->keep_alive_no_activity_timeout_in));
     }
 
     // [bug 2610799] Drain any data read.
@@ -427,9 +427,10 @@ Http1ClientSession::release(ProxyClientTransaction *trans)
     ka_vio = this->do_io_read(this, INT64_MAX, read_buffer);
     ink_assert(slave_ka_vio != ka_vio);
 
-    // Y!?
-    // client_vc->add_to_keep_alive_lru();
-    client_vc->cancel_active_timeout();
+    if (client_vc) {
+      client_vc->cancel_active_timeout();
+      client_vc->add_to_keep_alive_queue();
+    }
     trans->destroy();
   }
 }
@@ -451,8 +452,8 @@ Http1ClientSession::new_transaction()
 
   trans.set_parent(this);
   transact_count++;
-  // Y!?
-  // client_vc->remove_from_keep_alive_lru();
+
+  client_vc->add_to_active_queue();
   trans.new_transaction();
 }
 
diff --git a/proxy/http/Http1ClientTransaction.cc 
b/proxy/http/Http1ClientTransaction.cc
index 22fb1d5..074d283 100644
--- a/proxy/http/Http1ClientTransaction.cc
+++ b/proxy/http/Http1ClientTransaction.cc
@@ -31,7 +31,7 @@ Http1ClientTransaction::release(IOBufferReader *r)
   // Must set this inactivity count here rather than in the session because 
the state machine
   // is not availble then
   MgmtInt ka_in = 
current_reader->t_state.txn_conf->keep_alive_no_activity_timeout_in;
-  get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(ka_in));
+  set_inactivity_timeout(HRTIME_SECONDS(ka_in));
 
   if (m_active) {
     m_active = false;
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index c8f7cd1..8652597 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -5613,7 +5613,7 @@ HttpSM::do_setup_post_tunnel(HttpVC_t to_vc_type)
   if (chunked)
     tunnel.set_producer_chunking_action(p, 0, TCA_PASSTHRU_CHUNKED_CONTENT);
 
-  
ua_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in));
+  
ua_session->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_in));
   
server_session->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(t_state.txn_conf->transaction_no_activity_timeout_out));
 
   tunnel.tunnel_run(p);

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to