TS-2639: make HttpClientSession allocation consistent

The HttpClientSession is always allocated from the proxy allocator,
but ends up gettting released to the global class allocator. Make
sure that we use the proxy allocator all the time.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ce6b5c7f
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ce6b5c7f
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ce6b5c7f

Branch: refs/heads/lua_config
Commit: ce6b5c7f40b56256f8236bc042fdf89e37ceb2a3
Parents: bba5f4a
Author: James Peach <[email protected]>
Authored: Fri Mar 14 10:04:44 2014 -0700
Committer: James Peach <[email protected]>
Committed: Fri Mar 14 13:39:51 2014 -0700

----------------------------------------------------------------------
 CHANGES                         | 2 ++
 proxy/http/HttpClientSession.cc | 7 ++-----
 proxy/http/HttpClientSession.h  | 1 -
 3 files changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce6b5c7f/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 1afbde4..b68e5c3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 5.0.0
 
+  *) [TS-2639] Release HttpClientSession objects back to the proxy allocator.
+
   *) [TS-2637] Add traffic_line records match option.
 
   *) [TS-2630] Add lib/ts/apidefs.h to place common types.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce6b5c7f/proxy/http/HttpClientSession.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpClientSession.cc b/proxy/http/HttpClientSession.cc
index faaebb8..208ada6 100644
--- a/proxy/http/HttpClientSession.cc
+++ b/proxy/http/HttpClientSession.cc
@@ -64,7 +64,7 @@ HttpClientSession::HttpClientSession()
     read_buffer(NULL), current_reader(NULL), read_state(HCS_INIT),
     ka_vio(NULL), slave_ka_vio(NULL),
     cur_hook_id(TS_HTTP_LAST_HOOK), cur_hook(NULL),
-    cur_hooks(0), proxy_allocated(false), backdoor_connect(false),
+    cur_hooks(0), backdoor_connect(false),
     hooks_set(0),
     outbound_port(0), f_outbound_transparent(false),
     host_res_style(HOST_RES_IPV4), acl_method_mask(0),
@@ -107,10 +107,7 @@ void
 HttpClientSession::destroy()
 {
   this->cleanup();
-  if (proxy_allocated)
-    THREAD_FREE(this, httpClientSessionAllocator, this_thread());
-  else
-    httpClientSessionAllocator.free(this);
+  THREAD_FREE(this, httpClientSessionAllocator, this_thread());
 }
 
 HttpClientSession *

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce6b5c7f/proxy/http/HttpClientSession.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpClientSession.h b/proxy/http/HttpClientSession.h
index e80743b..d41d5a5 100644
--- a/proxy/http/HttpClientSession.h
+++ b/proxy/http/HttpClientSession.h
@@ -133,7 +133,6 @@ private:
   TSHttpHookID cur_hook_id;
   APIHook *cur_hook;
   int cur_hooks;
-  bool proxy_allocated;
 
   // api_hooks must not be changed directly
   //  Use ssn_hook_{ap,pre}pend so hooks_set is

Reply via email to